嵌入式系统
sunheshan
这个作者很懒,什么都没留下…
展开
-
SSD1306上移植uc/gui(efm32)
移植uc/gui当然得知道uc/gui是什么东东了,对于程序猿来说就是一堆函数了。通过调用这些函数可以很方便的在你的显示屏上显示各种操作界面,图形,文字等。其实向这种不管是系统的移植还是uc/gui这种函数库的移植,要有一个概念,那就是“我的”和“你的”怎么连接起来。即uc/gui会留出一个接口来衔接你自己具体的东西,有的是软件与硬件的接口,有的是函数与函数的接口。只要有这个概念,对于移植就很原创 2014-06-24 10:11:34 · 2142 阅读 · 0 评论 -
cortex-m3启动代码详解
启动代码内容 1) 硬件初始化: 最起码的是要初始化堆栈指针。 2) C语言环境 : 在main函数调用之前要完成对一些变量的初始化。 3) 应用初始化: 这主要取决于你的应用。比如设置系统的晶振、时钟。原创 2014-05-27 13:29:15 · 8324 阅读 · 2 评论 -
Cortex-M3中断
1 异常M3支持15个系统异常,240个外部异常IRQ,其中NMI,复位,hardfault三个异常的优先级固定不可更改且是负数,其余的都可编程。M3的异常分为抢占优先级和子优先级。2 关于中断优先级M3中,除了复位,NMI以及硬fault有固定的优先级,其他优先级都是可编程的。原则上,CM3支持3个固定的高优先级和多达256级的可编程优先级,并且支持128级抢占。但是,绝大多数CM3芯片都会精原创 2015-09-18 21:19:14 · 4657 阅读 · 0 评论 -
SVC和PEDSVC
SVC异常是必须在执行SVC指令后立即得到响应的(对于SVC异常来说,若因优先级不比当前正处理的高,或是其它原因使之无法立即响应,将上访成硬fault——译者注),应用程序执行SVC时都是希望所需的请求立即得到响应。另一方面,PendSV则不同,它是可以像普通的中断一样被悬起的(不像SVC那样会上访)。OS可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动作。悬起PendSV 的方法原创 2015-09-18 21:23:03 · 1482 阅读 · 0 评论 -
IAR程序中获取堆指针与栈指针
IAR在程序中获取堆指针和栈指针原创 2015-09-18 16:11:02 · 2644 阅读 · 0 评论 -
菜鸟详解iar的icf文件(链接文件)
一、每个芯片开发商都会针对每款芯片来编写一个.icf文件。对于基本的应用,这个.icf文件足以满足你的工程需要。但有时也会需要改动,比如当你的项目要添加外部RAM时就要修改一下.icf啦。1、Icf到底干了啥呢? 定义了芯片存储空间的大小。 定义ROM的大小和起始、结束地址。 定义RAM的大小和起始、结束地址。当然这些都是最基本的,你也可以设原创 2014-06-20 10:49:25 · 22011 阅读 · 5 评论 -
C在嵌入式中高效编程
本文是《ARM嵌入式系统开发:软件设计与优化》一书部分学习笔记,实验均在IAR上完成。目标板芯片为M3内核。原创 2015-03-31 15:11:29 · 1302 阅读 · 0 评论