1 TF卡格式化为fat32格式
2 用winhex复制boot.bin到0x2000位置
3 拷贝文件rtthread.bin到TF卡根目录
4 reset,引导程序会将rtthread.bin拷贝到0x80000000开始运行
从此PCB不再需要那个spiflash芯片,空出一路spi接口,开心。。。
离线
TKS 只能跟在后面叫666
补充一下,端午节、建军节、国庆节的礼物准备得如何了??
最近编辑记录 staunchheart (2020-06-01 15:49:26)
离线
厉害厉害,给大佬点时间,太近的节日就不提了,期待大佬的国庆节礼物
离线
谢谢大佬,分享
离线
别的啥也不说,支持大佬,希望多多给这样的惊喜
离线
这个有谁试过可以在F1C100S上面启动不? 我烧录后无法启动,还是跑去SPI FLASH上面了。
不过我烧录可以F1C100S在FLASH上面启动的SPL到TF上,还是无法启动。
用的是这个工程 https://whycan.com/t_1393.html
但是TF卡里面直接烧录完整的uboot+linux镜像是可以启动的。
确认TF卡的8K位置,已经完整烧录mksunxi处理过后的SPL BIN文件了。
且这个SPL BIN烧到SPI FLASH的0地址是可以启动的。
不知道TF卡还有什么其它的要求?
比如SPL的大小不能少于多少KB?
离线
@aozima
楼主只讲了TF卡格式化为fat32格式,没有提及容量,不知道是否是卡的容量差异引起
离线
直接按照偏移来写,会不会导致原有的文件系统破坏呀。
离线
从TF卡或者从SPI_FLASH启动,SPL--是二次代码搬运吗?
离线
离线
非常好!谢谢楼主。
简单的测试了一下似乎只支持MBR分区,并且只能有一个目录项
离线
离线
谢谢大佬,我下载编译了,发现里面应该只做了大容量卡的读取,低容量的卡应该还需要改造下。
离线
哦,原来是在SPL增加了SDIO驱动文件, sys-sdio.c和 sys-sdio.h,在 sys_copyself里的 进行初始化,start.S 里调用: bl sys_copyself
离线
不知道下面这个怎么操作:
"2 用winhex复制boot.bin到0x2000位置 "
直接用这个命令可以:
dd if=boot.bin of=/dev/sdxx bs=1024 seek=8
其中/dev/sdxx是你的SD卡盘符,可以用 ls /dev/sd* 列出,插上和拔下各运行一次,就知道对应哪个盘。
上电运行结果:
Init OK
SD capacity 31130624 KB
start cp file to ram addr 0x80000000
fonnd fat1 by dbr[dbr 0][fat1 2382]
root 32768 cusize 32 fatsize 15193
find file ok
cu 2 base 32768 offset 0 addr 3
filesize 396624,startform 6 cu
file num of cus 25
file num of secs 775
cp file to ram ok! Run....
\ | /
- RT - Thread Operating System
/ | \ 4.1.0 build Jun 19 2022 18:46:20
2006 - 2022 Copyright by RT-Thread team
lwIP-2.0.3 initialized!
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000
msh />[31m[E/MMC] [err]:0x00000100, RTO[0m
[31m[E/MMC] mmc cmd 5 err[0m
[32m[I/SDIO] SD card capacity 31130624 KB.[0m
离线
[11:48:57.453]收←◆
U-Boot SPL 2020.07 (May 11 2021 - 10:38:20 +0800)
DRAM: 64 MiB
Trying to boot from MMC1
[11:48:57.706]收←◆
U-Boot SPL 2020.07 (May 11 2021 - 10:38:20 +0800)
DRAM: 64 MiB
Trying to boot from MMC1
我的提示这个
离线