codewarrior
文章平均质量分 94
夏日白云
这个作者很懒,什么都没留下…
展开
-
Codewarrior v5.x 如何向项目添加浮点数支持
这篇文章介绍了如何把不支持浮点数的CodeWarrior工程改为支持浮点数的。原创 2020-04-27 17:41:30 · 1189 阅读 · 4 评论 -
MC9S12XEP100 本地RAM不够用了怎么办
MC9S12XEP100的RAM实在是太小了,稍微大点的项目可能就会发现RAM不够用,本文介绍了遇到这种情况时的几种解决办法。原创 2019-08-25 17:35:18 · 1815 阅读 · 0 评论 -
CodeWarrior V5.x模拟器HiWave全芯片仿真下出现内存错误的解决方法
这篇文章介绍了在使用CodeWarrior的全芯片仿真模式时常遇到的内存错误的解决方法原创 2019-03-08 10:42:40 · 1492 阅读 · 0 评论 -
CodeWarrior v5.x/MC9S12(X)怎么使用printf
本文介绍了CodeWarrior v5.x 中使用标准输入输出的方法。原创 2018-11-13 09:56:04 · 3312 阅读 · 6 评论 -
CodeWarrior 5.1的sprintf函数是线程不安全的!
一篇随笔,简单分析了CodeWarrior的sprintf函数为什么是线程不安全的,以及解决方案。原创 2018-08-08 11:37:44 · 1949 阅读 · 0 评论 -
如何加密你的MC9S12(X)设备
这篇博文完整介绍了MC9S12XEP100的加解密功能,并综合使用了之前本人写的多个模块完整全面地叙述了写出一整个示例程序的全过程,可以认为是一个最简单的按帧通信的程序示例。原创 2018-07-12 20:20:28 · 3849 阅读 · 5 评论 -
[嵌入式开发模块]MC9S12XEP100 FTM模块 驱动程序
此驱动程序对MC9S12XEP100的FTM内存控制器的相关接口进行了封装。原创 2018-04-14 12:25:31 · 2145 阅读 · 11 评论 -
CodeWarrior的map文件详解
map文件保存了你的整个程序编译链接后的各种信息,包括编译器链接器信息,内存分配信息,对象依赖等,每次编译链接程序后,这个文件都会被覆盖重新生成。它详尽的描述了整个程序最终在内存中的分布情况,有助于我们工程师完全掌控每一个对象(函数/变量/常量/栈……),以及对象间的相互关系,加深对编译链接过程的理解。原创 2018-03-30 16:04:30 · 6730 阅读 · 5 评论 -
嵌入式操作系统 uCOS-II 堆栈溢出检测
只是篇随笔。今天在测试自己修改后的SCI模块的时候发生了很奇怪的事情,很简单的三个任务互斥地往SCI口发送数据:static void SCI0Task(void *p_arg){ char str[] = "This is from Lin.\r\n"; while (DEF_TRUE) { SCI_PutCharsB_Mutex(SCI0,str,...原创 2018-02-24 11:41:49 · 1060 阅读 · 0 评论 -
HCS12X–数据定义(如何在CodeWarrior中将数据定义到分页区)
这个文档描述了程序员要怎么样帮助HCS12X编译器来产生在数据访问上更加优化的代码。我们将讨论以下主题:分配在直接寻址区的变量分配在扩展寻址区的变量分配在banked寻址区的变量 — 使用逻辑寻址分配在banked寻址区的变量 — 使用全局寻址Banked常量分配逻辑地址 vs. 全局地址翻译 2017-09-27 10:32:19 · 2966 阅读 · 4 评论 -
HC9S12X 定义及访问直接寻址区
HC9S12X微控制器有直接寻址这个概念,访问直接寻址区的变量只需要一个字节的地址,而常用的扩展寻址区则需要两个字节的地址。我的这篇文章描述了在CodeWarrior for S12(X)工程中定义并访问直接寻址区变量的整个过程和注意事项。供大家一起学习。原创 2017-11-15 10:07:39 · 1611 阅读 · 0 评论 -
Motorola S-records(S19)文件格式详解
CodeWarrior工程编译之后会生成S19文件,其中包含着对这个工程实际二进制代码的描述,如果需要实现远程下载程序等功能的话,很多就是通过这个文件作为中介来实现的,所以理解S19文件的格式十分重要。这篇文档是对Motorola S-records文件格式的描述。翻译 2017-11-13 17:37:26 · 7514 阅读 · 5 评论 -
在CodeWarrior for S12(X)的调试器中使用控制点(断点、观测点、标记点)
CodeWarrior for S12(X)的调试器提供了丰富的调试工具,控制点是其中很常用的一个,但是好像大部分人(包括我)使用控制点都只用到了使用断点来暂停程序这个程度而已。实际上,CodeWarrior的调试器的控制点模块提供了很多有意思的功能,远远不止暂停下程序那么简单。最近我好好研究了下调试器的手册,这里把控制点(断点、观测点、标记点)相关的内容做个总结。和大家分享学习成果。原创 2017-10-13 11:03:16 · 7188 阅读 · 5 评论 -
CodeWarrior for S12(X) 在全芯片仿真下使用调试器与模拟芯片通讯
这篇文章简单介绍了调试器提供的Terminal控件,以及怎么使用它与Full Chip Simulation模式下模拟出来的芯片进行通讯/交互。原创 2017-10-28 11:26:19 · 3656 阅读 · 0 评论 -
CodeWarrior for S12X 调试器的D-Flash编程支持
这个文档描述了怎么使用CodeWarrior的调试器在D-Flash/EEPROM中加载初始化的变量。这个特性只用于**large**地址模型。翻译 2017-10-11 21:04:33 · 1506 阅读 · 0 评论 -
使用CodeWarrior的构建工具选项来优化HC12/HCS12/HCS12X/HCS12XE内核的性能
这篇文档描述了CodeWarrior工具中的两个能为HC12/HCS12/HCS12X/HCS12XE内核生成更优化的代码的选项集。一个选项集优化了代码的速度;另一个则优化了代码的大小。翻译 2017-09-29 17:41:46 · 2192 阅读 · 0 评论 -
理解S12(X)架构中的地址映射方案
在一个S12或S12X架构中,很有必要分清楚两种类型的内存地址:banked和non-banked。这篇文档描述了应该怎么样正确的访问某个内存地址,同时还较详细地描述了CodeWarrior的链接器是怎么把你的代码分配在这两种地址中的。理解你的应用是怎么使用内存的将有助于避免掉入常见的陷阱,还能帮助你发现哪里还有代码优化的空间。翻译 2017-09-28 18:49:08 · 6229 阅读 · 8 评论 -
在CodeWarrior中用MemoryBanker优化代码
CodeWarrior HC12 编译器和链接器支持对代码、数据和常量section进行自动存储分配(在这篇文档中也称为MemoryBanker)。当激活这个优化时,链接器会尝试使用最优化的方式来在不同的内存区域间分配对象。这篇文章描述了CodeWarrior中MemoryBanker的作用和用法。翻译 2017-09-30 11:28:40 · 2278 阅读 · 3 评论 -
HCS12X–数据访问(如何在CodeWarrior中转换逻辑地址与全局地址)
这个文档描述了程序员要怎么样帮助HCS12X编译器来产生在数据访问上更加优化的代码。我们将讨论以下主题:地址转换(从逻辑地址到全局地址)使用逻辑地址定义一个变量并使用全局地址来访问它使用混合寻址模式来访问全局变量翻译 2017-09-27 22:54:26 · 2255 阅读 · 3 评论