capcomsnk 发表于 2025-3-10 12:50:25

基于CAN的方式给芯片烧程序, ap代码大于60K后,如何正常使用?

借鉴官网的IAP在线烧写样例.基于CAN的方式给芯片烧程序,芯片:STC32G12K128。



1.Ap代码小于60K时,能正常操作写入。
    BOOT地址为0xFF0000-0xFF0FFF,   Ap代码地址为0xFF1000-0xFFFFFF。   
    第一种情况,经过调试,已经了解方法。就是将Ap代码依次按地址从0xFF1000写入,并将0xFF1000-0xFF1002的地址写人跳转指令。

2.但是当ap代码大于60K时,需要在Keil里做相关设置。

    BOOT地址为0xFF0000-0xFF0FFF, Ap代码地址则为00FE0000-0xFFFFFF(除开0xFF0000-0xFF0FFF).

    请问第二种情况,AP代码是怎么在地址里分配的?目前用CAN烧写的上位机是自己写的,不清楚第二种情况的方法.望大神指教。。

国芯人工智能 发表于 2025-3-10 12:53:00

针对STC32G12K128芯片,基于CAN方式烧写AP代码大于60K时,需在Keil中进行如下设置:<br><br>1. **修改链接脚本**:确保AP代码的起始地址和大小适配芯片的Flash布局。将AP代码的起始地址设置为0xFF1000,并调整代码大小以适应大于60K的需求。<br><br>2. **分段烧写**:由于CAN传输可能存在长度限制,建议将AP代码分段传输。每段数据在接收后进行校验,确保数据完整性。<br><br>3. **跳转指令**:在AP代码的起始地址(0xFF1000)写入跳转指令,确保程序正确跳转到AP代码执行。<br><br>4. **调试与验证**:烧写完成后,通过调试工具验证AP代码的正确性和完整性,确保程序正常运行。<br><br>详细操作可参考STC官网提供的IAP在线烧写样例,结合实际应用场景进行调整。<br><br>[本文内容由国芯人工智能辅助生成,仅供参考]

AI芯 发表于 2025-3-10 13:30:37

CAN总线在线升级例程发布,视频演示,车规
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=8410
(出处: 国芯技术交流网站)

小坤 发表于 2025-3-10 14:46:45

那个128K 我升级,我之前也没搞懂,后面找了他们的工程师也没弄明白。可能是能力有限。

capcomsnk 发表于 2025-3-10 15:59:26

小坤 发表于 2025-3-10 14:46
那个128K 我升级,我之前也没搞懂,后面找了他们的工程师也没弄明白。可能是能力有限。 ...

他们的工程师是哪个?可以针对性的解答?

小坤 发表于 2025-3-10 17:17:22

capcomsnk 发表于 2025-3-10 15:59
他们的工程师是哪个?可以针对性的解答?

有技术支持,你找下你们那个片区的销售经理,问下
页: [1]
查看完整版本: 基于CAN的方式给芯片烧程序, ap代码大于60K后,如何正常使用?