Yan_Jun 发表于 2011-9-1 22:19:04

[M16C R8C][应用笔记]搞软件的进 NC30编译器

---- 说在前头 ----
1. 工欲善其事,必先利其器。用C开发,请花点功夫了解C编译器这个伙伴的脾气。
2. 汇编语言无法彻底被取代,虽然内核与C编译器协同开发已经搞了那么多年。

NC30编译器应用笔记(中文)
http://documentation.renesas.com/eng/products/region/rtcn/mpumcu/apn/ancg0603002_m16capn.pdf

要点:
    Section的初始化
    中断向量的映射方法
    标准库
   
---- 扩展阅读 ----

NC30编译器是瑞萨官方编译器,支持瑞萨M16C家族和R8C家族的全部产品。最新版本已经支持C++编译,并支持ELF格式。

另外,IAR和GNU也提供第三方工具。

瑞萨M16C家族,继承自前三菱半导体的MCU产品线。该产品线采用三菱专有CPU内核,字长16位,复杂指令集架构(CISC),业内绰号M16C/60。其扩展版是32位,仍然复杂指令集架构,绰号M32C/80。(有关专有内核与共享内核的优劣,不在这里PK)

M16C家族产品线比较广阔,分为高、中、低和超低四个档次。高档产品基本上都在汽车上,主要是M32C/80内核,2006年进化到R32C/100内核,频率达到64MHz,算是达到了CISC架构的一个极限(就MIPS/W而言)。中档产品的主流频率在32MHz上下,全部是M16C/60内核。在10年前,其引脚复用、端口抗干扰能力等方面有较明显的优势,因此得到认可。低档产品的主流频率在16MHz,全部是M16C/60内核。可惜市场定位有些尴尬,除了Tiny系列,其余产品都无声无息。

超低档M16C(曾经的R8C/Tiny)如今自立门户,成了R8C家族。这种产品采用了16位内核加8位总线的技术,性能介于纯8位机与纯16位机之间。2006年开始,这种混搭得到追捧,现已经独立壮大为现在的R8C家族。业内强手ST, Infineon等也推出了类似的混搭产品,一时好不热闹!

Yan_Jun 发表于 2011-9-1 22:34:45

---- 关于Section ----

下面这篇笔记以R8C为例,介绍了NC30是怎么对你的代码"下黑手"的. 可能是标题写得含混,看过的人恐怕不多.
<Data Flash Table>
http://documentation.renesas.com/eng/products/mpumcu/apn/rej05B0932_r8cap.pdf

要点:
    段是ANSI C规定的, 不是NC30独有的
    变量类型 与 段 之间的映射关系
    多个.c文件模块怎么拼装?

kurong2011 发表于 2011-9-28 09:47:21

不错,有用

just_be_fine 发表于 2012-5-14 22:15:40

看编译器还是很让人头疼~呵呵
页: [1]
查看完整版本: [M16C R8C][应用笔记]搞软件的进 NC30编译器