Cortex-M3是一个32位的核,stm32f10xxx(如stm32f103vc)芯片采用Cortex-M3作为内核。在stm32f103vc内,Cortex-M3通过ICode、DCode及System总线与片内其它模块发生联系,所有的APB设备由AHB到APB的桥连接。以m3为内核的还有其它系列(其它公司)的控制芯片。
选择MDK-ARM作为开发环境。到官网(选择下载MDK-RAM V4,填写些许信息后即可下载)下载mdk473.exe(mdk501安装后没有处理器的选择项,473为上一个最新的稳定版本)。下载后按照提示将mdk-ram安装。
下载并运行破解软件:
安装MDK-RAM之后,开始 >> 程序内就有keil软件。以管理员身份运行keil,File >> License Management…。在弹出的”License Management”窗口复制右上角的CID号到破解软件的CID框里,并按照下图选择其它选项:Figure1:mdk-keil破解
然后点击Generate(生成),将生成的序列号复制到”License Management”窗口的”New License ID Code(lic)框内”,点击Add LIC。若support period被生成就说明破解成功,Mdk-ram keil开发环境搭建成功。
Figure 2:“SEGGER 公司”(哈哈)的J-Link
要安装J-Link驱动电脑才能识别J-Link调试器。根据调试器之上的“J-Link”、“SEGGER”关键字下载驱动,SEGGER表面驱动要用SEGGER公司开发的驱动。
注:JTAG接口的J-Link驱动在v4.40以上就对盗版的J-Link管理很严格了,如果在手的J-Link非SEGGER公司所造则需要将MDK-RAM4.5(与J-Linkv4.40驱动配套,且J-Linkv4.40驱动没有特别严格的管理盗版问题)下的segger文件夹替换MDK-RAM4.73下的segger文件,再安装J-Linkv4.40驱动。
(1) Project >> New μVisionProject…,弹出创建新工程的对话框,输入工程名字如”stm32f1_test”点击保存。
(2) 当新工程被保存时,将弹出”Device selection dialog box”对话框,因为开发板之上采用的是STM32F103VC芯片,所以选择STMIcroelectronics下的STM32F103VC(非ARM 下的cortex-m3)。
(3) 添加STM32的启动文件到工程中。STM32F10XXX的默认启动文件是“startup_stm32f10x.hds”。启动文件除了做一些硬件初始化的工作外还会调用一些函数(调用调用“SystemInit()”函数和main函数,“SystemInit()”这个函数在” system_stm32f10x.c”文件中)。
(4) 往工程中添加” system_stm32f10x.c”文件(在CMSIS中),因为其内的” SystemInit()”函数会被”startup_stm32f10x.hds”文件调用。【系统只要有”startup_stm32f10x.hds”和”system_stm32f10x.c”文件及”main()函数”整个project就可以编译成功】 ,也可以自己编写SystmInit()函数。(5) 在Project中选中Target右键 >> Options for target…。【 或者使用工具栏中的图标 】
工程建立后,工程中除“启动文件”后无其它的文件。此时可以使用keil快捷工具栏中的图标()来组织整个项目中的文件结构及文件的添加。也可以在新建一个源文件后,在project的某一个文件中右键添加目标文件。
Figure3:烧写程序连接
图中的开发板是以Cortex-M3为内核的STMF10XXX芯片为控制核心的板子,是吕师兄自己开的板子,学习M系列有幸借用之。
Practical Note Over.