博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零搭建cortex-m0 UART工程
阅读量:5309 次
发布时间:2019-06-14

本文共 1259 字,大约阅读时间需要 4 分钟。

本文介绍了通过Keil开发工具,在已有工程源码的情况下建立一个Cortex-M0工程的基本流程,并通过串口打印数据来表明程序能够成功运行。

 

1. 创建工程

 建立新工程 Project -> New uVision Project

 2. 选择器件ARMCM0

 

2. 向工程中添加文件

1. 在工程根目录下,创建Include目录,并添加文件:

CMSDK_CM0.h        核内外设访问层Core Peripheral Access Layer

core_cm0.h          核内外设访问层Core Peripheral Access Layer,定义了使用的CMSIS版本、Cortex内核、工具链,提供了核内外设访问层的定义,例如核内外设的数据结构和地址映射,也提供了一些访问Cortex-M0核内寄存器及外设的静态内联函数

system_CMSDK_CM0.h    片上外设访问层Device Peripheral Access Layer,和system_CMSDK_CM0.c定义了系统初始化函数SystemInit ()和一些指示时钟的变量。

这一目录下通常存放CMSIS相关头文件

 2. 继续在工程目录下,创建Hardware目录,并添加文件

cortex_uart.c, cortex_uart.h   定义了串口操作相关函数,如uart的初始化、接收和发送

cortex_gpio.c, cortex_gpio.h   定义了GPIO操作相关函数,如gpio初始化等

3. 在工程目录下,创建Source目录,并添加文件

main.c              用户自定义main函数

startup_CMSDK_CM0.s      M0启动文件

startup_CMSDK_CM0.c

headinclude.h          包含了各外设的头文件

4. 回到Keil,右键Target1,添加新group,分别重命名为:Application, Hardware, Include, Startup

 

向Application中添加文件main.c

向Hardware中添加文件cortex_uart.c, cortex_gpio.c

向System中添加文件startup_CMSDK_CM0.c

向Startup中添加文件startup_CMSDK_CM0.s

5. 编译后的结构

 6. 设置C/C++中的Define为CORTEX_M0,将之前建立的目录包含到Include Paths中 ./Include; ./Hardware; ./Source

 

 7. 根据根据实际情况,由自己的调试方式来配置调试选项 

 

3. 运行和调试

编译通过后点击调试

可以发现已经进入了main函数,开始执行第一行代码。

继续运行程序,可以发现在执行printf后串口助手收到数据

 

转载于:https://www.cnblogs.com/Annabelle/p/11260515.html

你可能感兴趣的文章
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
Chapter 3 Phenomenon——12
查看>>
和小哥哥一起刷洛谷(1)
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>