虹涛犹珷 发表于 2024-3-16 11:51:08

_NCY_ 发表于 2024-3-16 11:43
预算12K,现在写出来的将近8K了
我说怎么2K的boot程序怎么这么难写,稍微多加点效验就超了。
顺便问下你{:lol:}串口IAP更新程序时,如果每一帧数据都效验都通过了,
还有没有必要对整个APP程序效验?
我加了整个APP程序效验后boot程序就超2K了{:sad:}

神农鼎 发表于 2024-3-16 12:42:48



深圳国芯人工智能有限公司-在线升级 (stcai.com)

_NCY_ 发表于 2024-3-16 13:27:54

虹涛犹珷 发表于 2024-3-16 11:51
我说怎么2K的boot程序怎么这么难写,稍微多加点效验就超了。
顺便问下你串口IAP更新程序时,如果每一帧数 ...

我觉得应该不用吧,stc的isp流程也就是校验每包数据的吧。再说了数据都传完了,要是校验不过也没办法啊🤔

_NCY_ 发表于 2024-3-16 13:30:48

虹涛犹珷 发表于 2024-3-16 11:51
我说怎么2K的boot程序怎么这么难写,稍微多加点效验就超了。
顺便问下你串口IAP更新程序时,如果每一帧数 ...

我竟然都没想到要校验,对硬件信任惯了,,,

_NCY_ 发表于 2024-3-16 13:34:48

把STC8H的所有中断都映射了一遍,果然可以用了!
这下又学了一招,谁说咱51不能中断向量重映射
😎😎😎

_NCY_ 发表于 2024-3-16 16:10:58

解决了中断的问题后,Bootloader基本框架终于弄好了。
往FLASH里二进制写入了两个APP及其大小(没有使用文件系统,自定义的放置),一个是科学计算器,一个是MSC。
开机默认加载并运行计算器程序(如果加载过了直接运行),可以通过按键选择加载MSC程序,然后连上电脑就可以往flash里拷其他的程序。

缺点很明显:太过简陋,要用十六进制查看器往U盘里写入文件,还要写文件大小!所以搞文件系统就是为了克服这一点

sevencai 发表于 2024-4-1 11:28:40

遇到同样问题,留个记号

fujigogogo 发表于 2024-4-8 12:09:10

这个如何保证BL的中断还能继续使用呢?
这个办法预估只有APP能用中断,BL不能用中断

21cnsound 发表于 2024-4-8 14:01:34

fujigogogo 发表于 2024-4-8 12:09
这个如何保证BL的中断还能继续使用呢?
这个办法预估只有APP能用中断,BL不能用中断
...

BL和AP中设置固定位置的bit位标识,BL中的中断跳转前根据位标识做判断即可。

fujigogogo 发表于 2024-4-8 18:42:33

就很奇怪,假如RAM可以放代码且PC指针可以直接赋值,那我中断响应函数就可以在运行中进行随意改动了{:cry:}。当然您说的也有道理,通过设置标志位来写死判断也是一种好办法
页: 1 [2] 3
查看完整版本: Boot loader跳转到用户程序后 | 编译器重映射中断向量入口地址