cjacker
cjacker
> I get this error `ERROR: serial read timed out `while trying to run the script in it's simplest form: `python3 efm8load.py -i` It seems that the TX led of...
> I compared the PFS123 and PFS173 ".INC" files of the official padauk IDE. The INC files are completely the same, even the OTP_ID number is the same. I couldn't...
> Error messages should not be relied upon. They might change, be localized, etc. They are for human consumption only. I am not sure which is your prefer way, and...
看了一下luadb v2的定义: https://wiki.luatos.com/develop/contribute/luadb.html 尝试理解 `luat/vfs/luat_luadb_inline_sys.c`, 跟SPEC还是有些不同: ``` const char luadb_inline_sys[] = { 0x01, 0x04, 0x5A, 0xA5, 0x5A, 0xA5, // 跟SPEC不同,SPEC讲"值为 0xA5 0x5A 0xA5 0x5A", 这里是逆序? 0x02, 0x02, 0x00, 0x02, //...
从Linux的角度看,xmake和luatOS的构建都没有任何问题。 目前仅有几个工具是欠缺的: - script.bin的制作工具,或者您所提到的后续romfs的制作工具。有了这个才能将脚本做成一个binary烧到特定的位置。 - air101/103的flash工具。air101_flash.exe不开源,xt804有wm_tool,开源,在linux能用,问题不大,总可以烧进去。 - air105的烧写工具。air105换成了mh1903s ARM,本身应该可以用CMSIS-DAP。可能出于推广的考虑,官方的AIR105参考板把SWD引脚藏起来没引出。这就比较尴尬了,在不动板子硬件的情况下,没有一个能用的工具可以在Linux烧写。 以下仅是个人建议: 1,bootloader/app烧写完成后,script部分是架构基本无关的,可以有一个单独通用luatos script flash tool。不升级bl/app的情况下,开发时更多是烧脚本,没必要弄的太复杂,GUI工具很难自动化,远不如一条命令来的方便,windows也是一样。 2,架构相关部分的烧写,继续现在的luatools之外(是否考虑Linux version),是否考虑提供最基本的Linux cmdline tool或倚靠架构本身的工具完成bl和app的烧写,如果是ARM,那工具实在太多了,没必要屏蔽或刻意避免使用这些现成的工具。比如air105在linux下的问题,除了没有一个脚本转bin的工具外,就是硬件swd引脚没引出,否则总可以用cmsis dap烧进去。
顺便,我调了一下soc_download的代码,甚至修改了部分,用win10 sdk和msvc toolchain在linux下重新编译了一遍(可以过,没问题),但PortRW始终超时,严重怀疑是不是[rts linux和windows实现不一样](https://stackoverflow.com/questions/5090451/how-to-open-serial-port-in-linux-without-changing-any-pin)的问题。这里也提到了"[Linux下的问题和解决](https://www.cnblogs.com/milton/p/15621540.html)"。但即使改了内核ch341驱动,也不行。air105-uploader这个[issue](https://github.com/racerxdl/air105-uploader/issues/1)也很有意思。 Update: air105-uploader的问题已经修复了.
> 但提供的soc_download在windows下是ok的吧? OK的,在Linux下总是PortRW timeout,改了代码加延时也不行,有时间我再调调看看吧。
> 2. air101_flash的源码是有的 https://github.com/openLuat/luatos-soc-air101/blob/master/tools/xt804/wm_tool.c OK,我之前一直用wm_sdk试的。那对XT804来说,要把luatos开发用起来,现在只缺一个script.bin或romfs的工具了。 对air105来说,air105-uploader问题已经修复了,可以使用mh1903或者air105 firmware library来写东西了。暂时还不能program luatos。
> 1. script.bin的生成, 晚点提供一个脚本吧 > > 2. air101_flash 就是wm_tools小改了一下复位逻辑, 其他没大区别的, 需要的话待会上传一下源码 > > 3. air105的swd的确是失误了,只能等这批开发板快卖完了, 新版改pcb了 > > 4. 有计划 https://github.com/LuatOS-Downloader , 但当前的重点EC618没有上游提供的下载协议, 只能逆向, 就很蛋疼 air101_flash代码传上来吧。我在写w80x/air101/103的教程,搞定luatos在linux下的开发后会把这块内容补上。 https://github.com/cjacker/opensource-toolchain-w80x-air101-air103
先不用关。 luadb_maker可能是有问题的。比如: TLD(buff, 0x02, value) TLD(buff, 0x03, io.fileSize(script_dir .. "\\" .. value)) 这个value的长度一定是2和4吗? 另,我没跑这个脚本,这个脚本严重依赖windows,不能在linux下用luatos运行。首先Linux下的luatos环境不完整,没有io.popen (最近的commit好像已经broken linux支持了),其次这个脚本调用了`dir /b`等特定的windows命令。 今天有时间,用C写了个luatos-utils,不指望上游能好好支持linux了。。。请在windows下也试一下,主要是mkscriptbin.c能不能在win下编译和正常使用,其它的理论上应该没问题。 https://github.com/cjacker/luatos-utils 包括: - luatos-flash-soc : 可以flash soc文件到air101/103, esp32s3/c3. - luatos-gen-script-img : 编译生成luadb格式的script.bin和air101/103的script.img...