原创 《删繁就简-单片机入门到精通》第四章

2010-3-24 21:14 2274 15 17 分类: 消费电子

终于结束了晦涩枯燥的第三章,我自己也长吁了一口气,现在我真的是非常同情那些教专业基础课或者工程数学的老师,这里真诚的说一声:“辛苦你们了”。
这一章要轻松不少,相信就算是刚走出校门的雏鸟,多少都有一定的C语言基础,大学好象都要过一个计算机等级考试,所以C语言自然是逃不了。你不要指望我给你讲述C语言原理和指令这类基础知识,我更不会给你讲述C++那些面对对象编程的高级编程方法,这一章讲述的内容都是C语言在单片机上应用会遇到的一些有意思的现象,让你知道C在单片机上是怎么工作的。
当然也会告诉你一些C的经验技巧,这些对提升你的单片机程序能力还是有一定作用的。

4.1. 单片机C语言
早期单片机编程是没有C语言支持的,都是汇编甚至是二进制的机器码,随着电脑技术的突飞猛进,单片机编程不再安于汇编的一亩三分地,也向着C语言的方向进发。理论上讲单片机实现C语言编程不存在丝毫问题,毕竟和电脑是同根生,于是一批专业或非专业、有着利益目的或无利益目的的工程师开始了这方面的努力。
和电脑最大的不同是单片机种类繁多,不象电脑只有那么几种芯片,而且电脑CPU的发展遵循着一定的规则,不同CPU要求做到指令兼容,单片机做这样的要求显然不现实,厂商不可能接受都遵循制定标准设定MCU的要求。虽然单片机种类繁多,但大部分单片机还是会采用通用构架进行设计,毕竟遵循一定标准可以不用厂商自己去完成指令系统、编译工具等繁琐工作,所以市面上流行的单片机内核其实并不多,不少八位的单片机都采用51内核,高端的MCU内核更是集中在ARM/MIPS…这几种当中。

详细内容请点此下载链接下载阅读:
https://static.mianbaoban-assets.eet-china.com/forum-images/EECOL/EEF/IMAGES/SITE/attachments/blog/mcu_training_chap4.pdf

文章评论2条评论)

登录后参与讨论

用户1406868 2014-5-27 00:17

非常好的文章

allen_zhan_752827529 2014-5-24 17:11

所谓"tristate"很可能对应于 ASB 中的 timing 的定义, 可能是指在某些个本应该在其他bus 协议中确定的捕获用的上升沿, 并不需要 bus 被明确的 assert, bus 可以保持 tristate. 或者这里的 tristate 意指 hi-Z(如果有错请告诉我)? AXI 将 write/read transfer 表现为 channel 的组合模式, 这似乎提供了 outstanding 的并行与 out-order 的可能, 在这种由 channels "任意"组合的假设下, 我们或者可以说 AHB 也是 AXI 的子集了. 我们阅读文档, 似乎 AHB 和 AXI 都是面向 burst 模式的应用. AXI 的channel由于每个 master与slave 的握手机制而十分灵活, channel ID 似乎就是并行与乱序的基础. 而 AHB 表现为 address/data phase 的建立, 似乎就不那么灵活, 并具有 fix pipeline 的特点. AHB Lite 面向的是 single master 的应用. 而在 AHB-Lite 上的多个 master, 比如说 DMA 或其他, 可能要用 multi-layer 的模式来解决. AHB 没有每个channel 的单独握手bus, 因此不可避免地需要 decoder. 但是 APB 的每次 SETUP, ACCESS phase 的建立, 以及没有握手的bus, 以及可以关闭的特性, 都适合一个外围的 peripherals 的应用. 至于 atb, 通过 protocal 的阅读, 似乎具备单独从 source -> target 的单方向 information 的导出,仅仅在 buffer flush 的 request 才例外. 通过简单的阅读掌握的也许就只能如此, 深入的话, arm amba kit 与 amba designer ADR-400 就成为需要了.

用户1039176 2013-9-13 08:50

学习了,谢谢分享

allen_zhan_752827529 2013-9-12 10:48

sorry, 我已经很努力去说了... 事实上 AXI 更复杂, AHB 和 APB 都是看起来比较简单的协议, 按照 Sailing 的史上最牛的电子科普文"PC与ARM"的说法, AMBA 的最初的协议, 应该就是这种 AHB 和 APB, 都是很简单, 是"研究生的毕业论文". 如果阅读原文后, 配合这份blog的阅读理解, 可能会相当程度上有助理解.

用户1610239 2013-9-12 10:09

很棒!

用户1157254 2013-9-12 09:50

天书

allen_zhan_752827529 2013-9-12 09:35

Ana, 被你说的, 我都被自己感动啦... 下次记得扎大红花给我~~~

用户1602177 2013-9-11 16:25

非常佩服Allen对待技术,以及分享的态度~~感谢!

allen_zhan_752827529 2013-9-9 11:20

Thx, Mike. 这里需要补充的是, AHB-Lite 协议中指出, AHB-Lite 支持的是单 master system. 而在 AHB-Lite bus interface 中实现 multi-system, 则需要使用 Multi-layer AHB-Lite. 我们想, 这应是在从完整 AHB 协议中简化出的这个 subset(AHB-Lite) 的最大不同之一.

用户1277994 2013-9-9 11:09

谢谢Allen的分享!
相关推荐阅读
daishangju_162733976 2015-12-19 20:46
个人所见植保无人机
      实在是太久太久没有了上来了,在过去的这段时间里,一些不方便说的原因,还一些方便说的原因,缠绕在一起,让自己封闭(不好意思用蛰伏这个词)一年多,不单是博客没有来,就是邮箱都很少打开。...
daishangju_162733976 2014-10-23 19:48
微观经济1409
位于东莞市凤岗镇的一家小吃店,旁边是一家酒店,老板去年请了7个工人,每天销售5000~7000,今年9月只有1个工人,销售肯定1000以内。   ...
daishangju_162733976 2014-10-23 17:27
市场去哪儿了
好像是从2008年开始,但凡是市场情况不好,总是能见到是经济危机导致欧美市场疲软的解释,看到电视里面安然轰然倒下、华尔街员工茫然抱着纸箱的画面,我对这个解释也是深信不疑。转眼五、六年过去,可是市场...
daishangju_162733976 2014-09-10 14:29
一名电子工程师在深圳的迁移路线图
1999年中,来到宝安区翻身村,在某电子厂工程部当小弟混饭吃,当时小霸王系诸多好汉豪杰正在那边分猪肉。(今天是WWW要搞的前海CBD)   1999年末,转往福田区华强北,在某电子公司开发...
daishangju_162733976 2014-09-05 16:37
另眼看客户“你自己去做,我一定支持你”这句话
我们常常看到或听到这样的事,小X在某行业中打工,经过一番努力,做得还不错,这时候就有客户说:“小X啊,你自己去做吧,我一定支持你”,这个时候小X往往都是已经在考虑是不是要自己出去单干,听到这样的话...
daishangju_162733976 2014-07-03 16:47
谁是优秀的职业经理人?
LEE是公司元老,在公司上下眼里,他能力超凡,数次于水火中力挽狂澜,没有人不承认他是一名福将。LEE有多厉害呢?他主导的产品成功率大约为三分之一,除了他自己,没人知道他是如何选定产品的,甚至他自己...
我要评论
2
15
关闭 站长推荐上一条 /2 下一条