打印
[抢楼250]

菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口)

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
5781
564451696| | 2011-11-23 09:37 | 只看该作者 回帖奖励 |倒序浏览
私人再盖一楼..?

使用特权

评论回复
5782
hotpower|  楼主 | 2011-11-23 09:58 | 只看该作者
请第一届和第二届参与助学活动并遵守约束的领取返还订金https://bbs.21ic.com/icview-287276-1-1.html

使用特权

评论回复
5783
hotpower|  楼主 | 2011-11-23 10:10 | 只看该作者
约束不是惩罚,因为本身100元的订金根本买不到助学套件。助学本身就是鼓励学习和交流。写笔记一是提高自己,二是为新人提供快速入门的参考。每个人学习都是通过例程学习的,没有例程将无法学习。即使是高人。故写笔记是最基本的约束条件。其次三个月返还主要考虑集中管理和为没时间写笔记提供时间。https://bbs.21ic.com/icview-287095-1-1.html

使用特权

评论回复
5784
tendence| | 2011-11-23 11:47 | 只看该作者
我也顶!!!

使用特权

评论回复
5785
plc_avr| | 2011-11-23 12:08 | 只看该作者
烈火,刚操作返还你的250,怎么没看见“付款给买家”
晕,看来俺要继续学习。
估计俺只学习了返还订金,没学习过像你没订金的。
hotpower 发表于 2011-11-23 08:18

-----------------------------------------------------
因为我压根就没订金,我先拍的138板子,后来补成250,当了回250,哈哈。我的仿真器是从我的M0516板上咔嚓的。按理应属于第0批,呵呵。俺不在助学退订金之列。但我绝对会支持大叔的助学活动!

使用特权

评论回复
5786
plc_avr| | 2011-11-23 17:23 | 只看该作者
再盖一层,画了一天板子,头晕眼花,回去吃饭........

使用特权

评论回复
5787
hotpower|  楼主 | 2011-11-24 00:20 | 只看该作者
有点困了

使用特权

评论回复
5788
plc_avr| | 2011-11-24 06:14 | 只看该作者
盖楼。。。。。。

使用特权

评论回复
5789
plc_avr| | 2011-11-24 06:18 | 只看该作者
M0有人说差的要死,我不信,偏偏用M0来玩,M0相当给力!AVR准备停用之.........

使用特权

评论回复
5790
Swallow_0322| | 2011-11-24 07:14 | 只看该作者
签到...
已收到大叔的助学奖金,多谢大叔啦!

使用特权

评论回复
5791
hotpower|  楼主 | 2011-11-24 07:33 | 只看该作者
M0有人说差的要死,我不信,偏偏用M0来玩,M0相当给力!AVR准备停用之.........
plc_avr 发表于 2011-11-24 06:18


实际ARM的指令集已经决定了它操控GPIO显然远不如MCU,因为MCU指令中已经多方考虑了对GPIO的位操作。

而ARM是通用的MCU,例如其核,NXP有M0,Nuvoton有M0,可能还有其他的M0.
那么这些厂家的M0的GPIO物理地址的分配不可能一样,故指令中不可能对GPIO进行操作,特别是位操作。

可能从汇编语言中看出,MCU可以对位操作,但是C语言实际没有真正意义的位操作。
而我们用的MCU开发平台由于是针对某些芯片的,故编译器可以识别出实现约定好的位操作。


再可以从红杏上看出,它由结构、联合、位域及枚举组成,我们需要的位操作实际是用位域替代的,是寄存器的&=~,|=等“位”操作。

故红杏在一般MCU上应用显然要效率低下,而在ARM上使用,由于通用性不支持真正的位,故红杏的效率将和理论分析的一样,即对ARM的访问,红杏的架构是最正确的。
所以可以看出在ARM用结构来描述特殊寄存器阵列是很好甚至是最好的选择。

但是由于ARM是32位的,但指令可能是16位或32位的,故32位/16位指令集中不可能包含寄存器的32位地址或立即数。所以必须通过间接寻址即指针来访问。

故特殊寄存器的物理地址必须在指令语句的附近存放,即所谓的“文字池”。

所以ARM要想操作GPIO的一位,必须做工作:
1. 在附近的文字池中取出GPIO地址,如GPIOA
2. 得到某控制寄存器,如GPIOA.xxx
3. 对GPIOA.xxx进行“位操作”,如&=~或|=

故ARM操作GPIO指令效率肯定不如MCU,这是天生的而非某厂家的不足。

新唐为了提高其访问GPIO的效率,简化了俺说的上述3条基本步骤,用寄存器替代位。
即用空间换速度。一个位就占用一个寄存器地址。
即一个GPIO的位将占用32位的ARM寄存器地址。

ARM快速操作GPIO的一位,必须改进工作:
1. 在附近的文字池中取出GPIO地址,如GPIOA
2. 得到某控制寄存器为某位,如GPIOA.bitxxx

使用特权

评论回复
5792
lixiaoxu2meng| | 2011-11-24 07:50 | 只看该作者
盖楼

使用特权

评论回复
5793
51小刚| | 2011-11-24 11:50 | 只看该作者
盖楼!

使用特权

评论回复
5794
lwslws201| | 2011-11-24 19:27 | 只看该作者
51 好多积分了。

使用特权

评论回复
5795
明明被电到| | 2011-11-24 19:27 | 只看该作者
:hug:

使用特权

评论回复
5796
lwslws201| | 2011-11-24 19:28 | 只看该作者
嘀嘀嘀i

使用特权

评论回复
5797
lwslws201| | 2011-11-24 19:28 | 只看该作者
:victory:

使用特权

评论回复
5798
xyz549040622| | 2011-11-24 19:31 | 只看该作者
加个层!

使用特权

评论回复
5799
zxcscm| | 2011-11-24 19:43 | 只看该作者
再来 盖楼

使用特权

评论回复
5800
watch186| | 2011-11-24 19:45 | 只看该作者
我要盖楼  选美

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则