KEIL5.23环境搭建和软件仿真STM32F10x

KEIL5.23环境搭建和软件仿真STM32F10x

 

MDK-523.EXE下载

https://www.keil.com/demo/eval/arm.htm需要填写一些资料后,才能下载。 

 

标准库下载

http://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html?querycriteria=productId=LN1939标准外设库列表,根据需要下载。 

 

如何创建一个不依赖IDE自带标准外设库的工程。

Startup文件夹下放置 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\目录下的文件。

 

User 目录下放置 main.c和STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\目录下的stm32f10x_conf.h、stm32f10x_it.c和stm32f10x_it.h。 

 

Libraries目录放置标准库STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\目录下inc和src文件。 

 

CMSIS目录放置STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\下的core_cm3.h和core_cm3.c,以及STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\目录下的stm32f10x.h、system_stm32f10x.c和system_stm32f10x.h


 KEIL5.23环境搭建和软件仿真STM32F10x_第1张图片

工程中对应添加的文件


Options的C/C++页,需要添加 USE_STDPERIPH_DRIVER:用标准外设库,STM32F10x_HD这个根据实际用的HD,ld和md。

KEIL5.23环境搭建和软件仿真STM32F10x_第2张图片

Options 的debug页需要配下图3红圈的地方。软件模拟选第一个红圈,并且需要按第三个红圈修改自己对应的MCU型号。第2个红圈单独说明。

KEIL5.23环境搭建和软件仿真STM32F10x_第3张图片


这样设置好后,编译你的工程,点击这个按钮后,会弹出“running with xx limit 32k” 之类的,这需要注册keil的license。解决办法自己百度。

 

解决license问题后,执行的时候仍然会有问题,“access violation at 0x00000000 : no 'read'permission ”之类的错误提示。这时就需要用到debug页中第二个红圈的debug.ini。

 

map 0x40000000,0x4000FFFF read write // APB1

map 0x40010000,0x40013FFF read write // APB2 not contant TIMER9.10.11

map 0x40018000,0x40029FFF read write // AHB

map 0x50000000,0x5003FFFF read write // AHB

map 0xE0000000,0xE00FFFFF read write // CORTEX-M3 internal peripherals

 

FUNC voidSetup(void) {

  xPSR = 1<<24;

  SP   =_RDWORD(0x08000000);

  PC   =_RDWORD(0x08000004);

  _WDWORD(0xE000ED08, 0x08000000);

}

 

Setup();

 

这里数据是根据参考手册中的Memory map查找的。 不同的mcu可能不一样,需要根据参考手册调整。

 

不用这种ini的方式,还可以在菜单debug-》Memory map中添加对应的内存映射。

新手遇到的最主要的问题解决了,接下就实现你心中的想法了,开搞!!!


总结于网络上的资料而得。


你可能感兴趣的:(STM32)