nuc980 rt-thread spinand 程序烧录及Flash分区说明
1. 板载25N01G 128MB spi flash
分三个区 8M系统、56M保留、64M用于uffs文件系统(挂载到/mnt/filesystem)
//boad_dev.c
struct rt_mtd_nand_device mtd_partitions[MTD_SPINAND_PARTITION_NUM] =
{[0] ={//128k * 64 = 8388608(0x800000=8M) rt-thread,uboot,....block_start = 0,.block_end = 63,.block_total = 64,},[1] ={//56M, reserved.block_start = 64,.block_end = 511,.block_total = 448,},[2] ={//64M, uffs.block_start = 512,.block_end = 1023,.block_total = 512,}
};//fal_cfg.h
/* partition table------------------------------------------------------------ */
#define FAL_PART_TABLE \
{ \{FAL_PART_MAGIC_WORD, "rtthread", FAL_USING_NOR_FLASH_DEV_NAME, 0, 8*1024*1024, 0}, \{FAL_PART_MAGIC_WORD, "filesystem", FAL_USING_NOR_FLASH_DEV_NAME, 64*1024*1024, 28*1024*1024, 0}, \
}//mnt.c
const struct dfs_mount_tbl mount_table[] =
{{ RAMDISK_UDC, "/mnt/ram_usbd", "elm", 0, RT_NULL },
#if defined(RT_USING_DFS_UFFS){ "nand2", "/mnt/filesystem", "uffs", 0, RT_NULL },
#endif{0},
};
#endif
原厂例子是分为4M和12M,可能是考虑有些板载W25Q128(16MB spi nor flash).
2. 烧录FLASH
参照官方文档 (NuMaker NUC980 IIoT User Manual.pdf), 除rt-thread.bin文件外,其它位于BSP/uboot目录中。
首先选择USB启动,启动nuwriter。
2.0 擦除整片FLASH
2.1 u-boot-spl.bin
2.2 u-boot.bin
2.3 rt-thread.bin
注意图中的980uimage.bin是linux镜像,改为编译好的rt-thread.bin
2.4 env.txt 启动脚本
baudrate=115200
bootdelay=1
stderr=serial
stdin=serial
stdout=serial
loadrtt=nand read 0x80000000 0x200000 0x600000
bootcmd=run loadrtt;go 0x0
3. SPI nand启动rt-thread
切换到SPI启动模式,reset或重新上电。以后烧录只要把rt-thread占用的空间擦除,见下图
然后重新烧录rt-thread.bin即可,其它不需要重新烧录。
4. SPI Flash 25N01G分区说明
block 0-3(512kB) u-boot-spl
block 4(128kB) env.txt
block 8-15(1MB) u-boot
block 16-63(6MB) rt-thread, 这部分看情况扩展
block 64-511(56MB) reserved
block 512-1024(64MB) uffs文件系统
nuc980 rt-thread spinand 程序烧录及Flash分区说明相关推荐
- DSP 程序烧录到flash启动程序死机解决方法(通用)(ADC无法初始化)(在RAM中可行)
1. 定位到main.c文件中的如下语句 2.注意这一段的位置,必须初始化在所有外设的前面(放在TIMER后面),不然 InitADC() 会报错,因为ADC的初始化函数调用了相关函数
- 03_Quartus将程序烧录到FPGA的Flash中
将程序烧录到Flash中 将程序烧录到flash中的目的 .sof文件不能烧录进flash中,导致掉电程序丢失 将.sof文件转换成.jic文件的流程 进入Convert Programming Fi ...
- ADI DSP开发环境(CCES)下的程序烧录问题(以ADSP-SC589为例)
在CCES环境下将程序烧录到flash主要有两种方式. 1.通过命令窗口 首先在对项目编译产生文件的属性设置为Release. 在编译完成后,找到每个CORE单独生成的DXE文件: 文件通常位于项目目 ...
- rt thread studio使用QBOOT和片外flash实现OTA升级
我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...
- stm32f407单片机rt thread 片外spi flash OTA升级配置示例
参考地址https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ 第一步,生成Boot ...
- 基于rt thread smart构建EtherCAT主站
我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...
- 蓝牙学习笔记(四)——AC692x程序烧录
程序烧录 下载连接工具 使用双端公对公USB线连接配套的强制下载工具,烧录时需要按下强制工具开关等到蓝灯灭,只有红灯亮的时候可以开始进行程序烧录(此时写入口供电). 加入密钥 在提供的SDK中 ...
- STM32程序烧录方式总结
STM32启动模式 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯 ...
- 【ZYNQ开发系列】基于vitis(vivado2019以上版本)的程序固化~如何把程序烧录到QSPI?
基于vitis的程序固化~如何把程序烧录到QSPI? 前言 废话 背景 开发环境 实现流程 解压项目到工程目录 subst(可选) Vivado部分 升级项目 升级IP核 (重要)使能QSPI 生成比 ...
最新文章
- Vue教程6【完结】【vue-router】路由,路由传参,编程式路由导航,缓存路由组件,路由守卫,路由模式,vue ui组件库
- 人工智能浪潮下的语音交互——VUI设计(基础篇)
- 基于sklearn的朴素贝叶斯_朴素贝叶斯分类实战:对文档进行分类
- 实现option上下移动_用jQuery实现lt;selectgt;选项上下移动 - 不要哀求 学会争取 若是如此 终有所获 - ITeye博客...
- 网络html代码是什么问题,html代码问题
- Nginx 配置参数
- 以太坊2.0怎么挖矿_以太坊2.0即将上线 现在正是挖矿红利期 普通人如何参与挖矿?...
- 如何用计算机解锁苹果手机,教你怎么使用Apple Watch手表解锁苹果Mac电脑
- 【Unity】【Odin Inspector】关于AOT Generation
- 无线城域网-无线广域网
- 用计算机探究规律的教学反思,《找规律》教学反思(精选11篇)
- Minimax算法——井字棋
- 【HNOI2013】切糕
- 学习MonoRail MVC
- Java远程调用BPS流程实现流程运行简单示例
- 泛微OA 子表单中文本框设置默认值不显示的问题
- 带有三角函数的计算机,三角函数计算器
- Centos7.6挂载IPSAN【iscsi存储】并应用为LVM分区
- [Pandas] 相同分组条件下的特定列除第一行以外的值为空
- 敖夜肝了这份Scrapyd核心源码剖析及爬虫项目实战部署