LPCOpen_LPC5411x学习笔记 ch1 + ch2
LPCOpen_LPC5411x学习笔记
文档编号 |
TN_AAAA_0000 |
关键字 |
LPCOpen, LPC5411x, MCU, ARM |
摘要 |
本技术笔记对LPCOpen_LPC5411x学习笔记进行说明 |
Mars4zhu
目 录
1 LPCOpen_LPC5411x概述 1
2 工程项目的打开、设置、编译、下载与调试 1
2.1 使用IAR开发LPCOpen_lpc5411x例程 1
2.2 使用Keil开发LPCOpen_lpc5411x例程 3
2.3 使用Eclipse+GCC开发LPCOpen_lpc5411x例程 4
2.4 使用LPCXpresso开发LPCOpen_lpc5411x例程 4
2.5 各IDE的对比 4
3 版本历史(Revision History) 5
插图索引
图 11 LPCOpen_lpc5411x的目录结构 1
图 21 LPCOpen_lpc5411x的板级支持包IAR代码修改与编译 2
图 22 Blinky例程的IAR调试界面 3
图 22 Blinky例程的Keil调试界面 4
表格索引
错误!未找到目录项。
1 LPCOpen_LPC5411x概述
LPCOpen是NXP推出的适用LPC系列MCU的芯片驱动代码与嵌入式软件包,包括了芯片驱动支持包lib_chip,板级支持包lib_board以及可选的低功耗支持包lib_power,同时还包含有中间件如fatfs、freertos、usb、ip等嵌入式中间件。
截止目前(2017-04-15)最新的LPCOpen_LPC5411x版本是v3.00c.001_42,解压后得到目录lpc5411x_xpresso54114,其目录结构如下:
2 工程项目的打开、设置、编译、下载与调试
2.1 使用IAR开发LPCOpen_lpc5411x例程
安装当前(2017-05-02)最新版本IAR for ARM(8.11.1.13272),并在File->Open Workspace中打开lpc5411x_xpresso54114\lpc5411x\prj_xpresso54114\iar\examples_periph.eww文件,可见该例程工程包含多个项目。
首先选择第一个lib_chip_5411x(芯片驱动支持包),右键后选择Set As Active,然后菜单选择Projecct->Make(快捷键F7),即可完成芯片驱动支持包的编译。
然后选择第二个lib_board_lpcxpresso_54114,同样右键后选择Set As Active,然后菜单选择Projecct->Make(快捷键F7),此时编译过程中报错提示
Error[Pe020]: identifier "_STD_BEGIN" is undefined \lpc5411x_xpresso54114\lpc5411x\brd_xpresso54114\inc\retarget.h 158,可能是新版本编译器对_STD_BEGIN的宏定义的未定义造成的,找到retarget.h的第158行,注释掉_STD_BEGIN,同时注释掉197行的“_STD_END”,再次编译无误,即可完成板级支持包的编译。
图 21 LPCOpen_lpc5411x的板级支持包IAR代码修改与编译
再选择periph-blinky项目,同样的右键后选择Set As Active,然后菜单选择Projecct->Make(快捷键F7),即可完成blinky例程的编译。
在菜单栏选择Project->Download and Debug(快捷键Ctrl+D),即可下载编译好的程序到开发板并启动调试,默认在main函数停止,可以在菜单栏的Debug->中或者工具栏的进行单步跨越、单步进入、单步跳出、持续运行、中断暂停等调试操作,以及在源代码窗口左边行号上双击设置断点,本例程设置在SysTick_Handler的里面,则每次Systick延时中断发生时调试器暂停程序运行,再点击单步跨越后完成LED的亮灭闪烁操作。完成调试后可以点击停止。
图 22 Blinky例程的IAR调试界面
2.2 使用Keil开发LPCOpen_lpc5411x例程
安装当前(2017-05-02)最新版本Keil for ARM/MDK(8.11.1.13272),并在File->Open 中打开\lpc5411x_xpresso54114\lpc5411x\prj_xpresso54114\keil\examples_periph.uvmpw文件,可见该例程工程包含多个项目。
首先选择第一个Project:lib_chip_5411x(芯片驱动支持包),右键后选择Set As Active Project,然后菜单选择Projecct->Build(快捷键F7),即可完成芯片驱动支持包的编译。
然后选择第二个Project:lib_board_lpcxpresso_54114,同样右键后选择Set As Active Project,然后菜单选择Projecct->Build(快捷键F7),
再选择Project:periph-blinky项目,同样的右键后选择Set As Active Project,然后菜单选择Projecct->Build(快捷键F7),即可完成blinky例程的编译。
在菜单栏选择Debug->Start/Stop Debug Session(快捷键Ctrl+F5),即可下载编译好的程序到开发板并启动调试,默认在main函数停止,可以在菜单栏的Debug->中或者工具栏的进行单步跨越、单步进入、单步跳出、持续运行、中断暂停等调试操作,以及在源代码窗口左边行号上单击设置断点,本例程设置在SysTick_Handler的里面,则每次Systick延时中断发生时调试器暂停程序运行,再点击单步跨越后完成LED的亮灭闪烁操作。完成调试后可以点击停止。
图 23 Blinky例程的Keil调试界面
2.3 使用Eclipse+GCC开发LPCOpen_lpc5411x例程
TODO
2.4 使用LPCXpresso开发LPCOpen_lpc5411x例程
TODO
2.5 各IDE的对比
相比Keil,IAR在调试的时候可以在整个workspace搜索变量和函数的名称符号,可以直接从应用代码切换到调用的芯片驱动支持包或者板级支持包的源代码,而Keil则不能跨项目切换源代码,因此调试的时候遇到调用支持包库函数的源代码时,无法正确的切换到对应的函数。
LPCXpresso是基于GCC编译器的开发IDE,由于专用于LPC系列的MCU,适用面较窄,不如Keil、IAR、Eclipse+GCC等应用广泛,因此推荐使用Keil、IAR或者Eclipse+GCC。
3 版本历史(Revision History)
版本号 |
发布时间 |
内容 |
A0 |
2017-05-02 |
初次编写 |
LPCOpen_LPC5411x学习笔记 ch1 + ch2相关推荐
- 《python机器学习及实战》学习笔记ch1之良/恶性乳腺癌肿瘤预测
1.文章说明 本系列文章都是自己学习<python机器学习及实战>这本书时所做的一些笔记而已,仅为学习作参考. 2.数据集地址: 数据地址是书中给出的数据下载地址: https://pan ...
- golang 并发与并行学习笔记(一)
如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人. go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据. ...
- 【Python-pywt】 小波变化库—Pywavelets 学习笔记
(转载) [Python ]小波变化库--Pywavelets 学习笔记_nanbei2463776506的博客-CSDN博客 https://blog.csdn.net/nanbei24637765 ...
- 《Go语言圣经》学习笔记 第十章 包和工具
<Go语言圣经>学习笔记 第十章 包和工具 目录 包简介 导入路径 包声明 导入声明 包的匿名导入 包和命名 工具 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. G ...
- 《Go语言圣经》学习笔记 第二章 程序结构
Go语言圣经学习笔记 第二章 程序结构 目录 命名 声明 变量 赋值 类型 包和文件 作用域 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记,几乎是书上的内 ...
- go get 拉取指定版本_go语言学习笔记-基础知识-3
相关文档 go语言学习笔记-目录 1.简介 1.1 什么是GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易.Go是从2007年末由Robert Griesemer, Rob ...
- 学习笔记之搜索引擎—原理、技术与系统
搜索引擎 - 原理.技术与系统 Search Engine: Principle, Technology and Systems 李晓明 闫宏飞 王继民 著 by Li Xiaoming, Yan ...
- Go语言开发学习笔记(持续更新中)
Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...
- STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)
本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...
最新文章
- 使用ultraedit和cl编译器打造简易c/c++开发环境
- ThinkPHP URL模式和URL重写
- centos6.8防火墙模块未加载
- IOS UI 第三篇:基本UI
- C# 判断两个日期是否是同一天
- python内置函数type_Python基于内置函数type创建新类型
- 计算机专业 学习路线
- Windows磁盘格式、分区格式及类型
- 上海瀚示中文彩显拣货标签 智能仓储物流工匠级革新
- 【海思3798系列机顶盒NAS分区表修改软件】
- android 下载保存视频到本地相册刷新 机型适配问题
- 3.3 Options
- TOJ4309 表达式求值 stack
- 在大学里要作的20件事
- STM32F103芯片 LQFP100封装引脚分布
- MySQL最全整理!高级java开发工程师面试题
- harrier 查看查看服务器状态,机油尺检查细节多多,嘉普力汽配工场教你如何正确查看机油尺...
- JWK和JWKs的格式
- php - 超详细将 pdf 文档格式转换为图片格式,将 offce pdf 演示文稿转成图像 png / jpg(小白一看就懂的详细教程,附带完整示例源代码)
- panda 满足条件的行 index_丽江自由行: 我如何安排我从广州到丽江的行程?
热门文章
- 哥德堡 值得被爱上的老城
- Unreal Engine4(虚幻4)学习心得-Ambient Cubemap 环境立方体贴图
- 使用Eclipse查看java源码
- 什么是亚马逊测评?亚马逊测评又有什么作用呢?
- 【ML】TensorFlow 图
- 超外差接收机原理图讲解(五)-- 控制 部分
- Cannot load JDBC driver class 'com.mysql.jdbc.Driv
- Opening error of VirtualBox in MAC with BIG SUR
- 联想y410p预装win8,再用u盘安装ubuntu
- mysql data目录 清空_Mysql binlog备份数据及恢复数据,学会这个,我在也不怕删库跑路啦~...