[ M3 PN ] STM32F10XXX(Cortex-M3) MDK + J-Link环境搭建 建立工程 下载程序

1 Cortex-m3与stm32f10xxx

Cortex-M3是一个32位的核,stm32f10xxx(如stm32f103vc)芯片采用Cortex-M3作为内核。在stm32f103vc内,Cortex-M3通过ICode、DCode及System总线与片内其它模块发生联系,所有的APB设备由AHB到APB的桥连接。以m3为内核的还有其它系列(其它公司)的控制芯片。


2 环境搭建

我选择了Keil, MDK-RAM作为开发环境。


(1) 安装MDK-RAM

选择MDK-ARM作为开发环境。到官网(选择下载MDK-RAM V4,填写些许信息后即可下载)下载mdk473.exe(mdk501安装后没有处理器的选择项,473为上一个最新的稳定版本)。下载后按照提示将mdk-ram安装。


(2) 破解keil

下载并运行破解软件:

安装MDK-RAM之后,开始 >> 程序内就有keil软件。以管理员身份运行keil,File >> License Management…。在弹出的”License Management”窗口复制右上角的CID号到破解软件的CID框里,并按照下图选择其它选项:

[ M3 PN ] STM32F10XXX(Cortex-M3) MDK + J-Link环境搭建 建立工程 下载程序_第1张图片

Figure1:mdk-keil破解

然后点击Generate(生成),将生成的序列号复制到”License Management”窗口的”New License ID Code(lic)框内”,点击Add LIC。若support period被生成就说明破解成功,Mdk-ram keil开发环境搭建成功。


(3) 安装J-Link驱动

J-Link是ARM调试工具。其中的一款如下图:

[ M3 PN ] STM32F10XXX(Cortex-M3) MDK + J-Link环境搭建 建立工程 下载程序_第2张图片

         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驱动


3 下载程序

(1) 建立工程

(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…。【 或者使用工具栏中的图标 】

  • 再选中对话框中的”Debug”,选中右边的”Use”,将其内容选择为”J–Link/J-TRACE Cortex”,然后再点击紧挨的”settings”[如果J-Link驱动是高于V4.40则此时会有” the connected emulator is a j-link clone”的提示,接下来还会关闭keil,以上环境搭建的步骤可以防止这个错误的产生 ],将PORT设置为JTAG,如果J-Link良好且连接没问题则再”JTAG Device Chain下回检测到相应的JLink Device”。在右边栏中选中”Run to main()”项。
  • 再选中”Utilities”,选中”Use Target Driver for Flash Programming”,在下拉框中选择” J–Link/J-TRACE Cortex。并点击“Add”添加对应芯片类型。

工程建立后,工程中除“启动文件”后无其它的文件。此时可以使用keil快捷工具栏中的图标()来组织整个项目中的文件结构及文件的添加。也可以在新建一个源文件后,在project的某一个文件中右键添加目标文件。


(2) 下载程序

将开发板的电源线连接到PC上的同时将J-Link也连至PC,打开开发板上的电源按钮(开发板对应的一个灯会亮)。对Project设置选项中的“Debug”(点Setting时,如果连接有问题或者J-Link有问题(J-Link有问题则需要刷一下固件)或者开发板有问题,就可能会有”Supply voltage too low”的错误提示 )和“Utilities”设置后,在keil中点击编译按钮,然后点击”Load”按钮就可以将.axf文件下载到开发板中(先不管是下载到flash或者是SRAM中了)。

[ M3 PN ] STM32F10XXX(Cortex-M3) MDK + J-Link环境搭建 建立工程 下载程序_第3张图片

Figure3:烧写程序连接

图中的开发板是以Cortex-M3为内核的STMF10XXX芯片为控制核心的板子,是吕师兄自己开的板子,学习M系列有幸借用之。


Practical Note Over.

你可能感兴趣的:([ M3 PN ] STM32F10XXX(Cortex-M3) MDK + J-Link环境搭建 建立工程 下载程序)