如题,尝试了下将STM32的App应用程序用MDK直接仿真,发现MDK下载后无法正常仿真,程序起始地址和中断偏移都设置了。以前用IAR是可以仿真App的。 |
你先看下的硬件配置,是否有问题,再看下代码逻辑和寄存器是否有问题,连上仿真器在KEIL用debug模式看数据流向,各个寄存器值得变化,是否和你的逻辑相符,如果不想符,在不相符的位置停下,查看对应代码是否有问题
我是这样分开调试和编译的
调试App的时候,你是在App的工程直接点击Debug的吗?我直接点Debug调试不起来,必须把App的偏移地址设置到0x08000000处才行
先把正常的BOOT程序刷进去,然后按照7楼的方式,把正确的地址配置到应用程序中,直接仿真就可以了。 ...
刷好boot,配置好App的偏移地址后直接仿真App程序吗?
你不检查下你的程序为什么不从BOOT跳转到APP呢
我一般是设置两个环境,一个是仿真用,一个是烧录用
可以的。保证boot能跳转到APP程序,我经常使用。
你不检查下你的程序为什么不从BOOT跳转到APP呢
boot能跳啊,我是想跳过boot直接仿真APP程序
可以的。保证boot能跳转到APP程序,我经常使用。
能说下具体怎么操作吗?谢谢
我是这样分开调试和编译的
boot能跳啊,我是想跳过boot直接仿真APP程序
正常操作不是从BOOT处跳转到APP嘛,既然可以,不就可以跑APP程序仿真了 除非你跳不过去
再设定个宏,自动选择
先把正常的BOOT程序刷进去,然后按照7楼的方式,把正确的地址配置到应用程序中,直接仿真就可以了。
一般bootload引导和应用不是同一个人写的,写应用的并不关心引导程序,所以只有这样了,如果都是一个人做了,那可能操作又不同
再设定个宏,自动选择
也就是说,你调试的时候实际的程序起始地址已经改到了0x08000000?