页次: 1
最近研究到匠芯创这个超高性价比的平台,作为HMI的优秀解决方案,尤其是D12X系列,10块钱的价格,400M主频,720P/60帧的jpg解码能力,来取代F1C100简直是不二首选!而且官方提供的Luban-Lite SDK给出了一整套rtthread RTOS解决方案(配置、编译、打包、文件系统),也是我目前看到的比较完整的rtthread实践,用这个平台来学习rtthread或者开发项目还是非常不错的。
但美中不足的是官方提供的系统升级方案实在太慢了,即使是一个几百K的固件,也动辄一两分钟,而且经常失败,大大影响了调试效率。因此自己花了几天时间,摸索了一套高效的OTA升级方案,并做了专用下载工具,分享给大家,希望能够对热爱技术的人有所帮助。
首先说一下整体的设计思路:
该方案核心是利用A/B系统和Ymodem文件传输(具体参考: https://aicdoc.artinchip.com/topics/sdk/application-ota-luban-lite.html ),即采用两个os分区,通过环境变量来选择当前要加载的分区,每进行一次OTA升级,所加载的分区就切换一次。
接下来是具体操作方法:
1、修改bootloader配置,使支持env(否则不会进行A/B系统的失败和切换),并且使能A/B系统:
2、修改应用程序配置,使支持env
3、修改应用程序配置,使支持ota功能
4、修改应用程序配置,使支持ota_downloader功能,并支持Ymodem ota:
5、最最重要的,是修改ymodem_ota.c文件,使满足上位机的协议机制。
源码参考:https://gitee.com/keqian/Aic_d12x.git
6、最后修改分区配置文件image_cfg.json,增加os_r分区,如下图(为了节省空间,考虑到使用性,rodata仍采用单分区):
所有都修改完成后,开始编译固件,首先编译bootloader代码(会将编好的固件自动拷贝到target对应的pack文件夹下),然后再编译app程序,注意编译前先加载对应配置。
编译完成没有问题后,第一次先用官方工具完整升级一遍(可以不升级rodata和data):
升级完成后,就可以用我分享的工具来继续升级啦 (路径:https://gitee.com/keqian/Aic_d12x/tree/master/tools/ymodem_iap):
可以看到,选择1.5M波特率,升级340K的固件,全部只需要6s左右 ,是不是可以大大的节省生命了?
今天的分享就到这里了!
使用win10系统WSL编译lubanSDK时,会遇到如下错误导致打包失败:
fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.
fakeroot: error while starting the `faked' daemon.
解决办法,拷贝fakeroot-tcp到输出目录:
sudo cp -f /usr/bin/fakeroot-tcp ./output/d211_demo100_nand/host/usr/bin/fakeroot
就可以顺利完成了!
很不错!有了这个屏把sinlinx的可玩性提高了一个新档次!原来的屏幕接口太奇葩了
潜水了很久,今天来分享见到的一个好开发板!
之前一直看V3S,靠谱的就一个荔枝派zero,但是开发板上接口比较少,想调试个功能捉襟见肘;有些接口完善点的又太贵,完全不是我等草根玩的起的。直到看到了这个芯灵思的板子,简直高呼良心啊:
除了V3S常规属性,核心板载了128M的NAND,运行个QT没什么问题;
而底板上网口、LCD接口、CAM接口,该有的都有,更重要的还有一个WIFI芯片(又省了个无线网卡……),可玩性还是非常高的!
整个板子只要88,比荔枝派zero贵了9块钱,但东西多多了。
不过这个公司好像比较低调,看了下官网,各种全志的板子,以前却没有论坛或者群里见过,估计老板是已经闷声发大财的大牛了(唉)
最后发个淘宝链接:https://item.taobao.com/item.htm?id=595210499201
没看到资料地址,等收到板子了再问店主要去。
为了能下载,坚持不懈继续顶贴!
确实是好东西啊!哎,怎么刷个回复还这么难呢,晕哥啊……我晕
这个真的是厉害了!!!我们公司的资料都没有这个丰富!
页次: 1