前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Vision Board创客营]学习片上Flash移植FAL

[Vision Board创客营]学习片上Flash移植FAL

作者头像
小点点
发布2024-04-18 09:00:05
1560
发布2024-04-18 09:00:05
举报
文章被收录于专栏:小点点
文章目录

  • [Vision Board创客营]学习片上Flash移植FAL
    • 介绍
    • 环境搭建
    • 使用
      • 组件
      • 测试
        • porbe
        • erase
        • write
        • read
    • 结语

[Vision Board创客营]学习片上Flash移植FAL

水平较菜,大佬轻喷。😰😰😰

介绍

🚀🚀Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,为工程师们提供了一个灵活、全面的开发平台,助力开发者在机器视觉领域获得更深层次的体验。

🚀🚀Vision Board搭载全球首颗 480 MHz Arm Cortex-M85芯片,拥有Helium和TrustZone技术的加持。SDK包里集成了OpenMV机器视觉例程,配合MicroPython 解释器,使其可以流畅地开发机器视觉应用。

img
img

环境搭建

🚀🚀环境搭建可以查看这个Vision Board 环境搭建文档(https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM),特别需要注意的就是,版本一定要新,我使用之前老版的RASC是不行的,如果开发过程中遇到奇奇怪怪的问题,可以首先检查自己版本的问题。

使用

🚀🚀首先基础的使用我这里就不重复介绍了,官方教程以及Rb导师的视频教程已经足够详细了,我这里就介绍如何移植FAL,因为我是第一次开发Flash,RT-Thread也没接触多少,如有错误还请各位大佬指出,谢谢啦!🙏🙏

🚀🚀值得注意的地方就是,Rb导师已经把BSP更新到了1.1.0,大家用最新的就好。创建完模板工程大概就是下面这样子。

在这里插入图片描述
在这里插入图片描述
组件

🚀🚀这边我们打开DFS和Fatfs,主要是后面会用,所以提前打开一下,如果只是移植FAL的话应该可以不开,因为DFS在FAL的上层,暂时用不到。

🚀🚀然后在硬件部分打开片上flash,如下图所示:

在这里插入图片描述
在这里插入图片描述

🚀🚀再打开FAL,这里也有点问题,就是现在FAL移植进入内核了,不是软件包了,我还纳闷为啥无法加入。

在这里插入图片描述
在这里插入图片描述

🚀🚀然后我们编译一下,不出意外的话出问题了,报错如下:

在这里插入图片描述
在这里插入图片描述

🚀🚀这个原因是因为我们没有在RA的RASC里面使能Flash(这里卡了我好久,因为接触瑞萨比较少,不知道Flash要使能,还是问了一下李肯导师才知道的😰😰),所以我们去使能一下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🚀🚀然后我们使初始化fal,代码如下所示:

代码语言:javascript
复制
#include <rtthread.h>
#include <rtdevice.h>
#include "hal_data.h"

#define LED_PIN    BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */

void hal_entry(void)
{
    rt_kprintf("\nHello RT-Thread!\n");
    fal_init();  // 介里
    while (1)
    {
        rt_pin_write(LED_PIN, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(LED_PIN, PIN_LOW);
        rt_thread_mdelay(500);
    }
}

🚀🚀搞完了之后再编译还是一堆报错,这个时候我们重启一下Studio,再次编译就好了,问了一下大佬,可能是编译缓存的原因,暂时也没搞懂。

🚀🚀然后接到开发板的DAPlink上面烧录就好了,成功之后应该是这样的:

在这里插入图片描述
在这里插入图片描述
测试

🚀🚀然后测试fal命令,如下所示:

porbe
代码语言:javascript
复制
fal probe disk
在这里插入图片描述
在这里插入图片描述
erase
代码语言:javascript
复制
fal erase 0 128

# msh />fal erase 0 128
# Erase data success. Start from 0x00000000, size is 128.
write
代码语言:javascript
复制
msh />fal write 4 1 2 3 4
Write data success. Start from 0x00000004, size is 4.
Write data: 1 2 3 4 .
read
代码语言:javascript
复制
msh />fal read 0 4
Read data success. Start from 0x00000000, size is 4. The data is:
Offset (h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
[00000000] 82 EF EC C1 

🚀🚀结果如下图所示(第一次接触,不太会用):

在这里插入图片描述
在这里插入图片描述

结语

🚀🚀因为是第一次接触,所以很多地方不太懂,请大家见谅,然后Rb导师还要我移植一个文件系统,算是全新的尝试,我也会写一篇文章来记录,谢谢大家!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • [Vision Board创客营]学习片上Flash移植FAL
    • 介绍
      • 环境搭建
        • 使用
          • 组件
          • 测试
        • 结语
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档