STM32F103纯汇编语言工程分享

2019-07-21 00:40发布

新人首贴,请多关照,谢谢!
买了原子哥的板子学习STM32,受益匪浅!
和朋友一起又画了一个主要为了自己用,增加了一些外设,此贴主要用的是自己的板子,但是更多的主要还是关于Cortex-M3的内部功能实现,和板子关系不大。
因为自己之前是搞ARM7的,所以拿到CM3之后还是想把体系结构搞清楚再做应用,所以在研究过原子哥的代码和工程后决定从汇编语言入手学习,所以便有了今天这份代码。自己在学习的过程中也有很多体会,因为在这里我也获得了很多帮助所以希望我得帖子也能为大家提供给帮助。在此感谢那些无私奉献的大神们
好了闲话不说了,进入正题。我这个工程主要是从STM32的那个startup.s文件开始入手的实现了如下功能:
1.芯片初始化
  主堆栈初始化
  线程堆栈初始化
  异常向量表初始化
  外部中断向量表初始化
2.系统延时
  基于SysTick实现的毫秒级延时子程序
3.GPIO操作
  实现RGBLED灯操作
  五向按键操作
4.NVIC相关操作
  中断分组
  异常向量表定位
  中断配置等子程序
5.usart串口操作
  轮询方式发送数据
  中断方式接收数据
  数据接收循环队列
6.ILI9486液晶屏驱动(部分功能)
  液晶屏初始化
  清屏操作
  绘制16*8点阵ASCII码字符
  绘制水平方向字符串等子程序

以上是当前工程中有的功能,后期会陆续更新。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
33条回答
ttl1ttl1
2019-07-21 21:02
多谢楼主提供的例程,我试了一下,发现main.c是无用的,可以去除,只要在 init.s 中加入 ENTRY 语句,工程参数设置的 Linker的Misc controls中加入 --diag_suppress=L6314 参数,就可以消除警告。
只是在uVision4用打开工程时会出现 "no browse information available in" 的提示信息。uVision5用打开工程时就没问题.

一周热门 更多>