Сообщение от akimych
|
Так я не понял, симулятор для 100го появился или нет?
|
Пока не успел запустить симулятор для STM32F100RB.
Думается что все тако есть в кейл-е симулятор для F100. Что проделал пока на примере в "C:\Keil\ARM\Boards\ST\STM32-Discovery\Blinky\Blinky.uvproj" :
- выбрал проект загрузки в памяти- "STM32F100RB RAM"
- в настройках "Project-›Option for Target-›Debug" выбрал симулятор
- добавил для симулятора "C:\Keil\ARM\Boards\ST\STM32-Discovery\Blinky\RAM.ini"
- убрал в "Project-›Option for Target-›Debug" галочку "Run to Main()"
- Подправил "RAM.ini" закоментировав "// g, main" чтоб симулятор не запускал сразу "main" функцию
- запускаем симулятор, включаем "View-Dizasembly Window" (возможно Dizasembly Window включен но само окно сжато и его не видно: так было у меня)
- после запуска видим что курсор остановился на метку "SystemInit" в Dizasembly Window на адрес "0x200001C0" !!! "LDR r0,[pc,#36]"
- если сделаем шаг симуляции "F11" то процессор уходить в "Hard Fault"
- если включить по новому симуляцию и разрешить "Usage Fault" (Screen.png), после шаг симуляции процессор уходить уже в "Usage Fault" (Screen1.png)
Насколько понял от
Knowledge Articles процесор уходить в "Usage Fault" потому что адрес "Reset_Handler" находится на четном адресе-"0x200001C0" Хотя в файл "C:\Keil\ARM\Boards\ST\STM32-Discovery\Blinky\RAM\Blinky.map" прописано что Reset_Handler" находится на адрес "0x200001c1"
Почему в симуляторе порога загружаетя неправильно пока не понял. но думается что можно побороть. Возможно надо еще гдето поднастроить, чтоб симулятор заработал.