首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于codewarrior hcs12扩展关键字

关于codewarrior hcs12扩展关键字

codewrrior在标准C基础上扩展了9个关键子,即:
@address,用来定义绝对地址,如 int wyaddr@0x4001=0;
interrupt 定义中断函数
asm嵌入汇编
以上三个大概常用了,还有6个:
far
near
rom
uni
_alignof_
_va_size_of
这6个本人看了手册还是不太清楚。
另外还有:EnableInterrupts.Disinterrupts用来允许或禁止可屏蔽中断,
还有连接控制关键字及其他希望知道的朋友补充一下。
              非学无以广才,非志无以成学;              
我总觉得CodeWarrior方面的资料很少,楼主是否有点资料
可否共享!
zxgboss@21cn.com
谢谢!

codewrrior在标准C基础上扩展了9个关键子.不过它自带了很多
库函数,
不知道没有这充库函数的说明之类的,
要不偶不会用,见笑了!
编程 + 单片机英文手册  刚刚接触  感觉没有方向,信息不够.
on the way
Codewarrior引入两个关键字:near, far
Near函数用JSR或BSR来调用
Far函数用CALL来调用
比如:void far func1(void); //func1函数放在非固定页中,可以被其他页的函数调用
const int *far ptr; //指向常量的指针放在非固定页中,这个指针可以用来指向非固定页中的变量
MC9S12DP256:

Flash 中地址在 $4000–$FFFF间的存储数据是可以访问的。
由于Flash 模块的地址范围超出了 HCS12 的64K (16-bit)地址空间,所以从 $8000–$BFFF被映射到若干16K字节大小的页框中。
$8000 - $BFFF间共有64个可访问的页。 由PPAGE寄存器决定在当前访问的是哪一页。
使用PPAGE寄存器可以访问到地址在$8000–$BFFF间的所有共16页的16K字节。
Flash模块中每个块包含许多行控制和状态寄存器,它们都位于的相同地址空间 INITRG + $100 - INITRG + $10F。通过Flash 配置寄存器选择有效的某行寄存器。

页面变址寄存器(Page Index register )或PPAGE 对 MC9S12DP256进行存储管理。 PPAGE 用6位来表示哪一个物理页面是活跃的。
用户程序页框由16K Flash组成。 64页共256K空间中有16页在该页框中。
MC9S12DP256 有7个引脚端口, 端口K,用来仿真或者作为通用 I/O。其余六个端口用来决定哪一个Flash页正在被访问。 其余的地址位放在 PPAGE 寄存器中。
除了硬件的分页机制外,另外增加了两条指令,用来调用页内函数。
CALL指令类似于JSR,除了把分页窗返回地址放到堆栈中,它还会在CALL指令把新的8位的数据写到PPAGE之前,把PPAGE的当前值放到堆栈中。
调用CALL指令,需要用RTC指令返回
程序继续执行时,把PPAGE的值和分页窗口的地从堆栈中调出
MC9S12DP256的PPAGE有6位,可以有1M的寻址范围
低地址范围的768K通过PPAGE $00到$2F来访问,它被保留用作外部存储器(当使用扩展模式时)
高地址范围的256K由PPAGE的$30到$3F来访问,用作内部FLASH存储区
所有的256K的FLASH可以通过16K的PPAGE窗口来访问,其中两个16K的页也可以通过固定地址($4000-7FFF, $C000-FFFF)来访问。
$4000-$7FFF与$3E相对应,$C000-$FFFF与$3F相对应
这两个固定页克服了内存分页机制的一些缺点
采用分页机制,在某一页中的函数无法直接访问访问另一页中的数据
需要被其它页的函数访问的数据应该放在固定页中,或只有固定页的函数才能访问其他页的数据
因为复位和中断向量表只有16位,所以所有的中断服务程序和复位初始化程序必须从固定页中开始执行。
大部分中断服务程序可以放在非固定页中,部分的中断服务程序尤其起始部分要放在固定页中。通过CALL来调用非固定页中的函数,最后用RTI指令返回
这些都是经典 东西呀!!!!
http://www.ruiyish.com  万艾可
http://www.zxgrow.com  卡王
http://www.gzkemei.com  基因育根
http://www.dfdzpcb.com  阴茎增大
http://www.jishiyaofang.com  超级P57
http://www.KYKYY.COM  充气仿真娃娃
http://www.jskmvchina.com  怎么样才能生儿子
http://www.cdwucheng.com  脚气的治疗方法
http://www.am688.com  阴茎短小
http://www.jxhaichuan.com  快高
http://www.chxtn.com  wifi 密码破解
返回列表