基于MDK-ARM创建STM32L-DISCOVERY Project

发布者:konglingdeyuan最新更新时间:2017-01-18 来源: eefocus关键字:MDK  ARM  STM32L 手机看文章 扫描二维码
随时随地手机看文章

本文只针对使用MDK-ARM建立软件开发环境,并基于STM32L1xx_StdPeriph_Lib_V1.1.1库及其Examples,其余情况可参考UM1451 User manual Getting started with software development toolchains for the STM32L-DISCOVERY board

(后续会补充一般情况下创建STM32L MDK Project说明)

 

1.  安装Keil uVision4

 

2.  下载获得STM32L1xx_StdPeriph_Lib_V1.1.1.zip压缩包,解压到H:\STM32L1xx_StdPeriph_Lib_V1.1.1,内部目录结构如下:

(PS:可以详细阅读目录下的stm32l1xx_stbperiph_lib_um.chm,该文档有不错的参考价值)

 

3.  在H盘下新建STM32_Project目录,拷贝H:\STM32L1xx_StdPeriph_Lib_V1.1.1\Project\STM32L1xx_StdPeriph_Examples\GPIO  目录到 H:\STM32_Project\下

 

4.  进入到H:\STM32_Project\GPIO\IOToggle 目录下创建MDK-ARM,并在MDK-ARM目录下创建objects目录

 

5.  打开Keil uVision4,点击Project菜单栏的New uVsion Project ,此时选择保存路径为:H:\STM32_Project\GPIO\IOToggle\MDK-ARM\


6.  按照提示选择芯片为STM32L152RB

 

7.  此时会提示是否拷贝startup文件到当前目录,选择YES,此时将MDK-ARM目录下的startup_stm32l1xx_md.s 拷贝到上一级目录即:H:\STM32_Project\GPIO\IOToggle\

(这样做是为了将所有源文件都放在H:\STM32_Project\GPIO\IOToggle\目录下,而MDK-ARM目录只存放MDK所生产的文件)

 

8.  选中target1,点击右键,选择Options for Target 'Target1'... 或者按Alt+F7快速打开该Options窗口

 

9.  按照下图显示进行配置Options for Target 'Target1'

Device选项为创建Project时选择的芯片型号,可从该页面修改选择的芯片类型

 

Target 选项配置如下,由页面可以配置了on-chio ROM 和 RAM的地址和大小,还有Xtal频率,另外勾选了Use MicroLIB ,对于这个库可参考MDK-ARM的说明http://www.keil.com/arm/microlib.asp

 

Output页面可配置编译输出文件目录和输出信息,点击select folder for objects,选择在MDK-ARM目录下的objects目录

 

C/C++配置为最重要的配置,定义了USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL symbols,选择Optimization为Level 3(-O3),Warnings为All Warnings,同时配置Include Paths,否则编译时会找不都相关头文件

 

 

 

Debug选择仿真器为ST-Link Debugger 同时Protocol为SWD,同时勾选Run to main()

 

Utilities 同样选择ST-Link Debugger

 

10.  选中target1,右键选择Manage Components

 

11.  配置Components,Environment and Books,修改Project Targets 名称为iotoggle,创建Groups:User、StbPeriph_Driver、CMSIS、STM32152L_EVAL、MDK-ARM、Doc,然后为不同的Groups添加文件:

User 包含H:\STM32_Project\GPIO\IOToggle\ 目录下的main.c、stm32l1xx_it.c

 

StbPeriph_Driver包含H:\STM32L1xx_StdPeriph_Lib_V1.1.1\Libraries\STM32L1xx_StdPeriph_Driver\src目录下的所有.c文件

 

CMSIS包含H:\STM32_Project\GPIO\IOToggle\ 目录下的system_stm32l1xx.c

 

STM32152L_EVAL包含H:\STM32L1xx_StdPeriph_Lib_V1.1.1\Utilities\STM32_EVAL\STM32L152_EVAL 目录下的所有.c文件

 

MDK-ARM包含了H:\STM32_Project\GPIO\IOToggle\ 目录下的startup_stm32l1xx.md.s

 

Doc 包含readme.txt

 

12.  以上配置完成后基本已配置完成,点击Build Target会出现以下错误,此时选中stm32l152_eval_i2c.ee.c,右键选中options  for file stm32l152_eval_i2c.ee.c,不勾选Include in Target Build

 

保存重新编译,通过完成,此时基于STM32L1xx_StdPeriph_Lib_V1.1.1库及其Examples 的MDK-Project建立配置完成,另外可以将源文件拷贝到H:\STM32L1xx_StdPeriph_Lib_V1.1.1\Project\STM32L1xx_StdPeriph_Templates目录下,使用模板project来运行example(暂末尝试,后续补充),我这样创建MDK-Project的目的是为了可以使用subversion来进行版本控制,虽然比起使用template步骤繁琐,但是对于了解MDK配置有一定帮助,另外有利于以后创建自己的Porject(一般情况下和不适用lib库情况下(均后续补充))


关键字:MDK  ARM  STM32L 引用地址:基于MDK-ARM创建STM32L-DISCOVERY Project

上一篇:STM32L系列单片机内部EEPROM的读写
下一篇:STM32 DMA使用详解

推荐阅读最新更新时间:2024-03-16 15:31

基于ARM的条码精密测量系统
   摘要: 本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。    关键词: ARM;嵌入式系统;视觉测量;条码    引言   利用条码技术进行精密测量的典型仪器是1990年Leica公司开发成功的数字水准仪NA2000,这种光电一体化的新型仪器,具有测量速度快、精度高、操作简单、读数直观,能自动计算高差、高程,自动记录数据,计算机数据处理和容易实现基准测量一体化等诸多特点。国内目前对该技术的研究较少,本文提出了一种基于ST半导体公司的32位高性能处理器STR912FW44X6的
[安防电子]
从四个方面区别arm与fpga
概念上 ARM是应用,FPGA是芯片设计,前者是软件,后面是硬件,ARM就像单片机,但是它本身的资源是生产厂家固定了的,可以把它看成一个比较优秀的单片机来使用。 而 FPGA 需要通过自己编程,让它具备一切你想让他具备的功能。比如,你想让它是一个计数器,或者只是一个非门,那么这个芯片就是一个非门,只不过是个很昂贵的非门。你也可以在一款内部资源充分的FPGA 上,让这颗FPGA 成为ARM芯片,并且加上你想要加上的外设,比如网络,内存控制,LCD,等等,只要资源够用! 从意义上 ARM是可以是一种处理器,利用ARM架构体系的处理器,里面整合了很多现成的硬件资源供你编程调用。比如运算器、串口、usb接口等各种现成硬件。可以通
[单片机]
从四个方面区别<font color='red'>arm</font>与fpga
高通ARM服务器芯片高规格 或有机会抢占服务器市场
  不少厂商尝试以 ARM 架构处理器打入资料中心市场,如果从设计能力、财力和研发稳定度等层面来看, 高通 (Qualcomm)或许有机会成功,而秘密武器就是日前在HotChips大会上发表的Falkor核心。下面就随嵌入式小编一起来了解一下相关内容吧。   根据TheNextPlatform报导,代号为Amberwing的Centriq2400芯片是 高通 开发的第五代客制 ARM 处理器,内建符合 ARM v8规格的Falkor核心,也是继Cavium的ThunderX2芯片之后,另一个具有市场竞争力的ARM服务器芯片。   与其他ARM服务器芯片最大的不同在于 高通 拿掉了所有支援32位元的电路,只支援64位元的工作负载,
[嵌入式]
ARM的野心:M7芯片瞄准智能家居和汽车
苹果和谷歌(微博)今年的两场发布会显示,iOS和安卓已经走出了手机和平板,开始向客厅娱乐设备、医疗健康设备、智能汽车、智能家居等领域扩张。 周二,移动芯片巨头英国ARM公司也对外发布了面向上述领域的芯片设计方案,旨在挖掘物联网等带来的新芯片机会。 ARM本身并不设计制造最终的芯片成品,而是将其设计方案和知识产权授权给芯片厂商。通过这种模式,ARM已经成为移动设备芯片的大赢家,彻底将设计制造集于一身的对手英特尔,甩在身后。 ARM公司首席执行官塞戈斯(SimonSegars)表示,目前市面上的一些智能家居产品,对于绝大多数消费者来说没有实用价值,未来深入一般人生活中的智能设备,应该是能够给人们节省开支的设备。
[物联网]
基于QT/E的ARM/DSP嵌入式系统的直流电机监控界面的设计与实现
   摘要:以嵌入式微处理器ARM&DSP主从控制模式下设计直流电机控制系统,重点介绍基于QT/Embedded设计的直流电机监控系统界面,包括串口通讯和电机控制。搭建基于嵌入式操作系统Linux的开发环境,采用C++语言进行应用程序界面的开发,根据基于串口的应用层协议,实现主从控制器间的数据通信。并完成Linux操作系统的移植,通过触摸屏实现人机交互。 关键词:S3C2440; TMS320F2812 :Linux;QT/Embedded;直流电机;图形化用户界面 0 引言     嵌入式技术在机器人控制领域应用广泛,它集中了机械工程、自动化控制以及人工智能等多门学科的最新科研成果,已经成为当前科技研究和应用的焦点与重心。而机器
[工业控制]
基于QT/E的<font color='red'>ARM</font>/DSP嵌入式系统的直流电机监控界面的设计与实现
魅族前高管李楠解读英伟达收购Arm原因
英伟达最近发文确认将以 400 亿美元的价格从软银集团和软银愿景基金(统称“软银”)收购 Arm Limited(以下简称Arm)。 官方称此次合并将英伟达领先的 AI 计算平台与 Arm 庞大的生态系统相结合,旨在打造人工智能时代首屈一指的计算公司,在拓展大规模、高增长市场的同时加速创新。软银仍将通过其持有的英伟达股权(预计低于 10%),致力于实现 Arm 的长期成功。 对于英伟达收购Arm的原因,魅族前高级副总裁、现Angry Miao创始人李楠分享了他的看法,他认为跟苹果密切有关。 李楠称Arm的MBP没有独立的 GPU ,而是把CPU和GPU整合到了一个 SoC 上面,而且两个部分可以共用高速内存。 换而言之, GPU
[手机便携]
ARM处理器架构异常/中断处理
中断是我们嵌入式开发很常用到的一种资源和编程手段。这篇文章重点分析arm的中断处理流程。 首先,中断是异常的一种。当发生一种异常时,处理器会进入不同的工作模式。ARM的异常和相应的模式之间的对应关系见下表: 当一个异常导致模式的改变时,ARM核自动地: 1、把cpsr保存到相应模式下的spsr 2、把pc保存到相应模式下的lr 3、设置cpsr为相应异常模式 4、设置pc为相应异常处理程序的入口地址 对于IRQ或者FIQ而言,还多一项变化:禁用相关的中断IRQ或FIQ,禁止同类型的其他中断被触发。(这也是自动实现的,因此正常情况下,ARM中断不可嵌套) 从异常中断处理程序退出时,需要我们在程序中用软
[单片机]
<font color='red'>ARM</font>处理器架构异常/中断处理
具有X86到ARM二进制翻译和执行功能的SoC系统设计
  二进制翻译是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行。它使得不同处理器之间的二进制程序可以很容易的相互移植,扩大了硬件/软件的适用范围,有助于打破处理器和支持软件之间的相互扼制的局面。二进制翻译技术的优点为:不需要重编译源码就可以实现软件从旧平台到新平台的移植;快速为新机器提供软件,包括移植操作系统和编译器;充分利用新机器的特性优化代码;减少培训费用,因为使用的是相同的软件,所以不必在新平台上重新培训员工;降低了多平台软件的费用。    1 SOC架构设计   1.1 处理器的确定   通用处理器与硬件逻辑是SoC设计的主流架构。在一些需要大量数据处理的应用中,这
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved