您好,欢迎访问三七文档
STM32开发环境目录•KeilMDK介绍•ULINKUSB-JTAG接口适配器•工程管理•配置工程1.KeilMDK介绍•Keil是德国知名软件公司Keil(现已并入ARM公司)开发的微控制器软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVision)将这些功能组合在一起。它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发ARM应用的工程师,都对它十分喜欢。开发周期•使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多的,大致有以下几个步骤:•1.创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。•2.编写C或者汇编源文件。•3.编译应用程序。•4.修改源程序中的错误。•5.联机调试。•工程区:用于访问文件组和文件,调试是可以查看CPU寄存器。•输出窗口:显示编译结果,以便快速查找错误的地方,同时还是调试命令输入输出窗口,也可以用于显示查找结果。•内存窗口:显示指定地址内存里的内容。•查看和调用栈窗口:用于查看和修改变量的值,并且现实当前函数调用。•代码窗口:用于查看和编辑源文件。•外设对话框:检查微控制片上外设的状态。2.ULINKUSB-JTAG接口适配器•ULINKUSB-JTAG是一个用于连接PCUSB口和开发板JTAG口的小硬件适配器。通过ULINK你可以在真实的目标板上创建,下载和测试嵌入式应用。ULINK支持如下操作:•下载目标程序。•检查内存和寄存器。•单步运行程序。•插入多个断点。•实时运行程序•烧写FLASH存储器3.工程管理•新建工程点击菜单“Project”,选择“NewuVisionProject”,这是将会出现一个对话框,要求给将要建立的工程起一个名字。选择你要保存的路径,输入工程文件的名字,这里我们就叫HelloWorld,uVision3工程文件的后缀为“.uv2”,然后点击“Save”。这时会弹出一个对话框要求你选择目标设备的型号。•可以根据你使用的处理器来选择,如果您所使用的处理器型号在列表中找不到,也可以找一款与您使用的相兼容的型号来代替。这里我们选择STM32407ZG,如图所示,右边一栏是对这个芯片的基本的说明,然后点击“OK”。•有些芯片会提供启动代码,我们这个时候点击“Yes”,到此一个工程就建立好了。4.配置工程•工程建立好了之后,还要对工程进行进一步的设置,以满足要求。•首先用鼠标右键(注意用右键)点击左边工程窗口的“Target1”,会出现一个菜单,选择“OptionsforTarget'Target1'”(也可以通过点击工程窗口的Target1”,然后使用菜单“Project”-“OptionsforTarget'Target1'”),即出现工程配置的对话框,如下图所示:•这个对话框很复杂,而且与所选择的芯片有关,这里共有10个页面,绝大多数选择默认配置即可,下面将对一些需要注意的配置简单介绍一下。Output标签页的设置•SelectFolderforObjects:选择编译之后的目标文件存储在哪个目录里,默认位置为工程文件的目录里。•NameofExecutable:生成的目标文件的名字,缺省是工程的名字。•CreateExecutable:生成OMF以及HEX文件。OMF文件名同工程文件名但没有带扩展名。•DebugInformation:用于Debug版本,生成调试信息,否则的话无法进行单步调试。•CreateBatchFile:生成用于实现整个编译过程的批处理文件,使用这个文件可以脱离IDE对省程序进行编译。•CreateHexFile:这个选项默认情况下未被选中,如果要写片做硬件实验就必须选中该项。这一点是初学者易疏忽的,在此特别提醒注意一定要要选中,否则编译之不生成Hex文件。•BigEndian:编码格式,与CPU相关,如果CPU采用的是BigEndian编码则勾选上。•BrowseInformation:产生用于在源文件快速定位的信息。•CreateLibrary:生成lib库文件,默认不选。•在我们刚刚新建的HelloWorld工程中,更改了三个地方,在工程目录下新建了一个Output目录保存目标文件,以避免和源文件混在一起。另外选中了CreateHexFile和BrowseInformation。Debug标签页的设置左边是对应uVision3的模拟环境,右边是针对仿真器。•如果已经将ULINK仿真器连接到你的电脑,点击“Settings”你将进入ARMTargetDriverSetup界面。•ULINK-JTAG/SWDAdapter:•SerialNo:列出了当前连接到主机的所有ULINK适配器的串号,你可以通过列表选择要使用的ULINK适配器。•ULINKVersion,DeviceFamily以及FirmwareVersion分别列出了当前选择的ULINK适配器的版本,设备家族和固件版本。•SWJ,Port:根据和开发板接口的类型选择端口,有JTAG和SW两种,勾选SWJ表示支持两种方式。•MaxClock:指定和开发板的最高通信时钟。•JTAGDeviceChain:显示当前通过适配器连接上的开发板。•AutomaticDetection:自动监测,选择系统将自动检测连接上的开发板,建议使用。•ManualConfiguration:手动配置,通过手动设置IDCODE,DeviceName和IRlen等属性来查找设备。•Debug:•CacheOptions:•CacheCode:通知调试器已经下载的程序代码不会改变,选中的话uVision将不会从目标系统读取程序代码。•CacheMemory:决定调试程序期间程序停止运行的时候,是否更新存储器显示。•DownloadOptions:•VerifyCodeDownload:比较目标存储器和调试器上的应用程序的内容。•DownloadtoFlash:将代码下载到所有的存储器区域,如果不选中,调试器不会把代码下载到FlashDownloadSetup中制定的存储器地址范围。•MiscOptions:•UseResetatStartup:选中的时候,调试器在开始调试的时候会发起一次CPU复位。•LoadApplicationatStartup:将Output标签中指定的可执行文件导入到调试器的起始地址。•RuntoMain:开始调试时执行到Main函数入口暂停执行。•InitializationFile:指定一个包含一组调试命令的文件,这组命令是调试器开始工作或者调试函数在调试期间要使用的。•RestoreDebugSessionSettings:使用上一次调试过程对Breakpoints,Watchpoints,MemoryDisplay和Toolbox(如果这些项被选中的话)。•DriverDLL–Parameter:由DeviceDatabase设置的目标驱动DLL,不要修改。•DialogDLL–Parameter:由DeviceDatabase设置的对话框DLL,不要修改。•这里我们修改了两个地方,选中了UseULINK和RuntoMain,对ULINK的设置进行了一些调整。Utilities标签页的设置•ConfigureFlashMenuCommand•UseTargetDriverforFlashProgramming:列表选择和调试接口一致的驱动。InitFile的设置也和前面调试设置一致。点击Settings将进入FlashDownloadSetup界面。•DownloadFunction:定义了Flash烧写的时候进行的操作。•EraseFullChip:前面三项要选一,烧写程序之前擦除整个Flash存储器。•EraseSectors:烧写程序之前擦除程序要使用的扇区。•DonotErase:不进行擦除操作•Program:使用当前uVision工程的程序烧写ROM。•Verify:验证FlashROM的内容和当前工程中的程序一致。•ResetandRun:在烧写和验证完成之后复位开发板并且运行程序。•RAMforAlgorithm:指定用于烧写程序的RAM区域,通常是微控制器上的一段片上空间。•Start:起始地址。•Size:大小。•可以通过点击Add添加,点击Add你将看到如下的选择列表,可以根据你选用的芯片选择合适的,也可以自己手动添加。•UseExternalToolforFlashProgramming:使用第三方的工具进行Flash下载。•Command:要使用的Flash烧写工具的命令文件(通常是一个.exe文件)。•Arguments:传递给Flash烧写工具的参数。•RunIndependent:当选中的时候,uVision不等待Flash烧写完成。不选中的时候uVision要等待Flash烧写完成并且在输出窗口显示烧写结果。•到此工程设置就结束了。打开工程•通过菜单“Project”-“OpenProject”来打开一个现有工程,这时将弹出一个打开文件对话框让我们选择要打开的工程文件。•选择你要打开的工程的路径,然后点击“Open”打开工程。我们还可以和打开其他文件一样,找到一个后缀为“uvproject”的uVision4工程文件,直接双击,Windows会自动调用uVision4打开这个文件,前提是你电脑已经安装了uVision4并且和“uvproject”文件建立了关联。•选择菜单“File”-“New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口可以输入程序代码。•代码编辑完成之后,我们可以保存源文件,选择菜单“File”-“Save”或者点击工具栏的保存文件按钮,可以用来保存源文件。•这时会出现一个保存文件的文件对话框,选择你要保存的路径,输入文件名HelloWorld.c。注意一定要输入扩展名,如果是c程序文件扩展名为.c,如果是汇编文件扩展名为.s,习惯.asm的也可以存储为.asm。注解说明文件可以保存为.txt的扩展名。•源文件编辑完成之后我们还需要将源文件加入到工程中,工程建好之后,在工程窗口的文件页中,将会出现“Target1”,前面有个“+”号,点击“+”号展开,可以看到下一层的“SourceGroup1”,我们需要向这个里面加入源文件,点击“SourceGroup1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“AddfiletoGroup‘SourceGroup1’”,出现一个对话框,要求寻找源文件。•在这里我们把刚新建的HelloWorld.c添加进去,文件添加进去之后,我们点击“SourceGroup1”前面的“+”号,就会发现我们刚刚添加的文件HelloWrold.c已在其中了,双击文件名,即在代码区打开该源程序文件。编译程序•程序代码写好之后就进入编译程序阶段,可以通过菜单,工具栏和浮动菜单多种方式来发起编译过程,也可以通过批处理文件进行,关于这个批处理文件在Output标签页的设置中提到过。•红线圈起来的区域就是对应的菜单编译命令和工具栏编译命令。各命令的含义如下:•Cleantarget:清除编译结果。•Buildtarget:编译被修改的文件并且编译应用程序。•Rebuildalltargetfiles:重新编译所有的源文件并且编译应用程序。•BatchBuild:通过前面输出的批处理文件进行编译。•Translate**.*:编译某个源文件,**.*代表要编译的源文件。•Stopbuild:只有编译进行过程中这一项才有效。•通过在工程窗口“Target1”上点击右键,也可以弹出相应的编译菜单,各命令含义和上面一致。当出现“0Error(s),0Warning(s)”的时候也就意味着我们的程序已经通过了语法检查,如果是
本文标题:STM32开发环境
链接地址:https://www.777doc.com/doc-3629992 .html