公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

在RAM中独立运行一个工程

在RAM中独立运行一个工程

honor_rong
Level 1
Level 1

 问题背景:

  采用uds中的通用服务功能,完成bootloader的功能,即通过can总线,更新代码程序。


  现有一个tasking工程,目的想把工程中所有的程序代码,经过tasking编译处理之后,都定位在0x7010 0000 到 0x701F FFFF之间。


  工程代码小于30k,却是一个完整的工程。


  目前我通过工具,把这个完整的工程代码elf文件,转换成bin文件,然后通过上位机下载bin文件到指定RAM区,跳转到该指定RAM地址,执行该工程代码!

 

 遇到问题:

  

  用上位机通过uds服务,将该bin文件下载到指定RAM区,但是,bin文件没有在RAM中执行,现在问题定位在:bin文件没有被执行!

 

 分析问题:

   下载的bin代码,是一个独立完整工程,当正常跳转到Ram执行时,RAM没有执行启动代码,所以,RAM中的程序运行不正常。

 

 请教问题:

   

  如何将bin所有代码(包括启动代码,中断表,陷阱表),能够通过lsl文件定位?

   

  在RAM中独立运行一个工程,是不是芯片数据区的RAM不能够被执行?

  

  有没有类似的工程demo,请发一下我邮箱ronghua@nfelite.com ,谢谢!


    


0 点赞
1304 次查看
7 评论