
注意:
注意:52832的nrf_drv_spi_transfer函数限制了每次读写不能超过251字节,所以要特殊处理一下。读可以任意地址读,写不能跨页写,正常一页256字节每次都需要分成251+5两次写
考虑到单片机系统没有文件系统管理,每次读写文件异常麻烦,所以我们移植一个小型嵌入式文件系统(带断电恢复以及磨损平衡)。
Github地址: https://github.com/ARMmbed/littlefs
注意:Flash芯片为128M,只配置了其中的16M
上电后处理器要从地址0读取指令,根据启动方式将地址重映射后向总线发出请求并等待,spi flash控制器一位一位地给flash发命令发地址,再一位一位地读回数据,响应总线的请求。处理器要耐心等待,总线控制器会协调好的。等待是常有的事情,包括访问nand flash,包括访问ddr sdram。我感觉fpga的avalon总线时序有参考价值平台同稍差异般流程都差首先修改trunk/tools/firmware-utils/src/mktplinkfw.c
修改fw_max_len0xfc000016M flash;修改fw_max_len0x7c00008M flash
.id = "4M",
.fw_max_len = 0xfc0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x140000,新版用改fw区表自认用像版自定义每区
另外需面修改:
Imagebuilder 目录./target/linux/ar71xx/image/Makefile, 703n4Mlzma改8Mlzma或16Mlzma
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))
否则现错误:
[mktplinkfw] kernel length aligned to 914864
[mktplinkfw] *** error: images are too big
make[3]: [install] Error 255 (ignored)
openwrt能更新uboot需要做修改:
target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
parts[0].mask_flags = MTD_WRITEABLE//除本行
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)