热爱开源,喜欢分析操作系统架构
发布时间:2013-04-22 23:07:42
上一篇说了MQX中断的大致流程,本文我们重点关注一下细节问题,首先一个是中断优先级的问题。 在此我想简单说说cortex m4的中断异常的机制。由于这个部分是arm统一控制的,freescale的k60手册里没有提及,具体内容可以参考“Cortex-M4 Devices Generic User Guide”,里面说的已经比较详细了。 cortex m4的中断.........【阅读全文】
发布时间:2013-04-21 19:53:01
地址空间分布对于一个实时性系统而言是非常重要的组成部分。对于Cortex M4系列,既可以从flash直接运行代码,也可以从ram中运行,但是作为估计我们编译好的可执行文件都是烧录在flash里的。所以在系统上电和系统运行之前就有一个flash的相应内容拷贝到内存的一个环节,而这个环节就称之为加载。MQX的初始状态的内存分布.........【阅读全文】
发布时间:2013-04-20 19:03:19
对于习惯上位机编程的程序员而言动态内存分配自然是司空见惯、习以为常,但是对于我们这些折腾MCU开发的,本来小小的芯片里内存就那么几K,哪有什么余地搞动态内存。不过幸好cortex m带来了大堆的大容量的MCU,加上外扩SRAM的能力,使得系统可用的内存已经相当的可观了。但是如何使用这些可观的内存又是一件麻烦的事情,定.........【阅读全文】
发布时间:2013-04-19 16:43:35
本人看代码,无论多长,都习惯从最开始看起。一般的裸奔的程序,从main函数看起也就够了。可惜MQX是一个复杂的系统,源码都有几十兆,如果从main开始看的话就会忽略一些关键的步骤,因此我从代码最初运行的部分开始说起。代码之始(请原谅我糟糕的命名品味)在哪呢,这个要问链接器了。本人的编译IDE用的是Keil,在工.........【阅读全文】
发布时间:2013-04-19 15:07:14
说起我折腾MQX的原因倒是非常简单。之前实验室的同学收到freescale的南京研讨会的邮件,一看会议地点是紫峰大厦的五星级酒店,而且是包一顿午饭时,我就明白光凭借这顿饭我也得去凑凑热闹,虽然我从来没有用过freescale的任何产品。 不得不称赞freescale是下了血本的,研讨会上的服务十分到位,.........【阅读全文】