"); //-->
时光荏苒,从2017年7月18号开始我自己的微信公众号—汽车电子expert成长之路到现在已经走过了一年半的时间,我将过去五年在Freescale和NXP做汽车电子FAE和AE的工作过程中,积累的技术问题和经验分享进行了全面的总结和升华,旨在“透析汽车电子嵌入式系统软硬件技术开发难度、痛点,分享汽车电子开发实战经验”。截止2018年12月31号,已陆陆续续发表了近70余篇原创技术分享文章。
内容覆盖以下10大主题:
1. 《汽车电子ECU Bootloader开发》;
2. 《浅谈嵌入式MCU软件开发》;
3. 《S32K SDK使用详解》;
4. 《S32Kxx系列MCU使用Tips》;
5. 《汽车电子ECU参数标定》;
6. 《S32DS IDE使用Tips》;
7. 《CodeWarrior IDE使用Tips》;
8. 《外设使用Tips》;
9. 《答疑解惑》;
10. 《产线批量Flash编程与ESD/EOS保护》;
文章发布后,受到了广大读者/粉丝的喜爱,收到了无数留言和好评,很多读者反馈说我的文章真实地帮他们解决了汽车ECU软硬件开发过程中遇到的诸多实际问题。
然而,微信公众号,虽然很方便在移动终端设备上阅读,但随着发表文章数量的增加和内容越来越丰富,而其不提供全局检索功能,纵然我已经在文章末尾增加了已发表文章列表并开通主页关键词自动回复功能帮助大家更快地找到自己需要的文章,但任然无法满足大家的需求。
因此,为了方便大家更好地利用我公众号中发表的原创技术分享文章资源,我特意将所有截止2018年12月31日之前的61篇精品原创技术分享文章整理成册,制作成高清PDF版本:
è 整理文章标题和文章内容格式,生成统一的目录格式,便于快速跳转浏览;
è 修订了所有读者留言指正的错误和错别字;
è 所有文章图片保留原始高清格式,去公众号水印logo,可无损放大查看;
è 可在pdf阅读器中,全局搜索关键词,快速查找感兴趣的topic和问题解决方案;
欢迎大家关注我的微信公众号--汽车电子expert成长之路.(直接微信扫描下方二维码即可),阅读更多关于嵌入式系统软硬件设计和汽车电子的原创性精彩文章。
如果你觉得我的文章对你的学习/工作有所帮助,也请你帮忙转发到你的朋友圈、微信群和QQ同学/工作群等,让更多的人能够看到我的文章,从中受益!
由于工作时间原因,本公众号每周不定时更新个人原创文章。坚持原创,保证质量;不断总结经验才能提高。
郑重申明1:本公众号所有原创技术文章免费阅读:
ü 文中所有观点/结论均为个人观点,不代表任何公司官方观点意见;
ü 所有demo代码/程序,仅作参考学习,不保证质量,若用于商业用途,责任自负;
ü 所有本公众号文章,版权归本人所有知识产权,一切未经本人同意的转载均属违法,盗版必究~!
郑重申明2:版权所有,未经作者本人授权同意,不得将文章中内容用于任何商业用途,否则一切法律后果自负!尊重原创,保护知识产权--若需引用,请务必标明出处—汽车电子expert成长之路。
Enwei Hu(胡恩伟)
汽车电子expert微信公众号博主
二〇一九年二月四日(农历腊月三十)
以下为精彩内容的目录,喜欢的可以到如下百度云盘链接免费下载:
链接: https://pan.baidu.com/s/13iXcLzWba-2UdAeTHuIqww
提取码: 9c39
目 录
Contents
汽车电子expert成长之路微信公众号原创技术分享文章集合2017~2018年
汽车电子ECU Bootloader开发之基于CAN总线通信的MPC57xx系列MCU Bootloader开发详解(以MPC574xP为例介绍)
1. MPC5744P的Bootloader和应用程序存储器地址分配
1.3 MPC5744P CAN总线Bootloader和应用程序存储器地址分配
2. Flash 驱动开发(下载安装和使用C55 Flash SSD)
3. 1 DEVKIT-MPC5744P CAN总线硬件设计
3.2 Qorivva MPC57xx系列MCU FlexCAN 模块功能简介
3.4 FlexCAN模块RX ID滤波器设置,中断设置以及驱动程序API介绍
5. Bootloader程序流程介绍(解析S19文件、调用 Flash SSD编程应用程序以及跳转方法)
6.2 在DEVKIT-MPC5744P上测试本例Bootloader
浅谈嵌入式MCU软件开发之Qorivva MPC57xx和S32R系列多核MCU启动配置(以S32R274的S32DS应用工程为例)
4. Qorivva MPC57xx和S32R系列多核MCU bootloader开发要点详解
4.1 只需要为boot core CPU内核开发bootloader,因为每次MCU复位后,首先运行boot core CPU,然后再由其配置和使能非boot core内核;
4.3 Flash分区时,bootloader与不同的多核APP工程之间不能跨Flash Block和RWW分区
4.4 bootloader到APP工程跳转时,使用硬件复位(推荐SWT看门狗复位)跳转至多核APP工程的boot core内核复位函数(通过将函数指针指向boot core内核的复位向量);
4.5 将多核APP工程编译生成的.S19/.HEX文件使用文本编辑器合并作为最终的下载文件
汽车电子ECU Bootloader开发之基于CAN总线通信的S12(X) 系列MCU独立NVM驱动Bootloader开发详解
2. S12 (X) 系列MCU片上NVM资源及其驱动程序开发
2.1 S12 (X) 系列MCU存储器的分页工作机制和S12G128片上NVM资源介绍
4. 基于CodeWarrior处理器专家系统的图形化快速实现
4.1 CodeWarrior 5.1 IDE及处理器专家系统及其使用简介
4.2 Bootloader和应用程序内存分配及处理器专家系统配置
浅谈嵌入式MCU软件开发之Qorivva MPC56xx_57xx系列MCU的Power e200内核寄存器功能和内核调试技巧介绍
1.1 用户级寄存器(User-level registers)
1.3 在CodeWarrior 10.6/7 IDE和S32DS for Power v1.2 IDE中调试时查看e200内核寄存器
2. Power架构e200内核的MSR寄存器详解及处理器模式切换
3. 如何在C语言应用工程中操作Power e200系列CPU内核的特殊寄存器
3.1 S32DS for Power v1.2 IDE C语言应用工程操作特殊寄存器的方法
3.2 CodeWarrior 10.6/7 IDE C语言应用工程操作特殊寄存器的方法
浅谈嵌入式MCU软件开发之Qorivva MPC56xx_57xx系列MCU内核异常(IVORx)与INTC管理的外设和软件设置中断(IRQ中断)处理详解
1. Qorivva MPC56xx/57xx系列MCU使用的PowerPC e200系列CPU内核系统异常简介
1.1. Power e200z3/z4/z6/z7内核的系统异常
2.1 INTC控制寄存器(INTC_BCR/INTC_MCR)--配置IRQ中断为硬件向量还是软件向量模式
2.2 INTC当前优先级寄存器(INTC_CPR0)--配置当其INTC模块处理的优先级
2.5 INTC软件设置中断寄存器(INTC_SSCIRn)
2.8 INTC中断监测选择寄存器(INTC_HIPRInC0)
2.10 INTC定时器寄存器(INTC_TIMERnCR0)
5. 软件向量模式(Software Vector Mode)
5.1 软件向量模式下CPU内核系统异常和INTC模块初始化详解
6. 硬件向量模式(Hardware Vector Mode)
浅谈嵌入式MCU软件开发之startup过程详解(从复位向量到main函数之前的准备工作)
浅谈嵌入式MCU软件开发之startup过程详解(在CodeWarrior 5.1 中实现RAM自定义初始化)
误区一:MCU的程序都是存储在片上Flash上,然后拷贝到RAM中执行的
误区二:工程编译生成的下载文件大小即为最终占用Flash的大小
误区三:用户应用工程的编译结果建议不能超过MCU片上Flash的80%
浅谈嵌入式MCU软件开发之应用工程的堆(heap)与栈(stack)
二、函数的形参建议不要超过三个,而且对形参进行类型和范围检查
八、若MCU支持位操作,使用位定义和位域(bit-filed)操作,可以提高RAM的使用效率
九、关于static、extern和volatile关键词的使用
浅谈嵌入式MCU软件开发之S12(X)系列MCU的far和near函数指针调用详解(S12G128 based CodeWarrior 5.x Project)
2. S12(X) 系列MCU的CodeWarrior 5.x应用工程中的near和far类型指针的定义与区别
3. S12(X) 系列MCU的CodeWarrior 5.x应用工程中使用函数指针调用函数的方法步骤和注意事项
浅谈嵌入式MCU软件开发之MagniV S12Z系列MCU内核Machine Exception异常原理与恢复
引言(MagniV S12Z系列12V汽车ECU专用单芯片集成解决方案介绍)
1.3 S12Z CPU内核的异常/中断定义和分类以及优先级
2. S12Z CPU内核Machine Exception异常详解
2.1 S12Z CPU内核Machine Exception异常的处理进入流程和退出方式
2.2 MagniV S12Z系列MCU的存储器映射与控制(MMC)模块和Machine Exception异常产生原因详解
4. MagniV S12Z系列MCU内核MMC模块Machine Exception异常相关寄存器介绍
4.2 捕捉内核CCR寄存器(MMCCCRH, MMCCCRL)
4.3 捕捉内核程序计数器寄存器(MMCPCH, MMCPCM, MMCPCL)
5 MagniV S12Z系列MCU CPU内核Machine Exception异常的处理与恢复详解
5.1 非法存储器访问(illegal memory access)的处理
5.2 NVM Double-bit 不可纠正ECC错误的处理
5.4 Machine Exception异常处理与恢复demo测试工程介绍
浅谈嵌入式MCU软件开发之S32DS for Power V1.2 链接文件 (linker file) 和启动文件详解
2. 编译结果链接放置段详解(V1.0的sections.ld文件内容):
浅谈嵌入式MCU软件开发之Qorivva MPC56xx系列MCU启动过程解析(基于CodeWarrior IDE应用工程--结合EAB I、链接文件、启动文件和编译链接结果map文件)
2. 初始化函数__init_registers()解析--栈指针(R1)和小数据指针(SDA2-->R2/SDA-->R13)初始化
3. 初始化函数__init_hardware()解析--内核(FPU和SPE)和板级硬件(看门狗、SRAM的ECC、内核系统异常IVORx以及片上外设中断控制器INTC)初始化
3.1 初始化函数INIT_Derivative()--看门狗和SRAM ECC初始化
3.2 初始化函数EXCEP_InitExceptionHandlers()--e200内核系统异常IVORx向量表初始化
3.3 初始化函数INTC_InitINTCInterrupts()--INTC模块初始化-->外设中断向量表设置和中断向量模式(软件/硬件向量模式)配置
浅谈嵌入式MCU软件开发之S32K1xx系列MCU启动过程及重映射代码到RAM中运行方法详解(基于S32K144和S32DS for ARM v2018.R1)
1. S32K1xx系列MCU启动过程详解(startup_S32K144.S)
2.1分析应用工程链接文件(S32K144_64_flash.ld)
2.2将想要重映射的代码/函数通过__attribute__ ((section(".code_ram")))指定到.code_ram段
浅谈嵌入式MCU软件开发之S12(X)系列MCU 中断ISR在CodeWarrior 5.1 IDE 中的三种写法
3.为什么S12(X)的中断ISR必须放在未分页区(NON_BANKED)
4.S12G系列MCU的中断ISR在CodeWarrior 5.x 应用工程中如何实现?
方法一:在C文件中,建立中断向量表,使用‘@’重定义中断向量地址,并根据中断向量表地址将相应的中断ISR地址放在表中对应外设中断位置
方法二:在C文件中,采样关键词interrupt+中断向量号+ISR函数名来编写
方法三:在prm文件中定义:采样关键词VECROR+中断向量号+ISR函数名或关键词VECTOR+中断向量地址+ISR函数名(可实现中断向量地址重映射),然后再C文件中编写相应的ISR函数
浅谈嵌入式MCU软件开发之重定向标准输入输出设备使用printf()函数格式化输出调试信息(基于S32DS IDE和MPC5744P)
1. 重定向JTAG调试接口的半主机(semi-hosting)模式为标准输入输出设备
1.1 创建工程时,选择I/0 Support选择为Debugger Console
1.2 设置应用工程Library Support为ewl_c_Debugger Console(-specs=ewl_c9x_hosted.specs)
2.1 DEVKIT-MPC5744P评估板的UART资源及SDK中uart_pal组件的配置
2.2 配置应用工程Library support为ewl_c no I/O(-specs_c9x_noio.specs)
2.3 在应用工程中添加printf.c、uart_console_io.c、uart.h和uart.c
3.2 使用JTAG的半主机模式作为EWL库标准输入输出设备的打印结果
浅谈嵌入式MCU软件开发之调试器(Debugger)使用--PEMicro Multilink功能介绍与使用FAQ
1.2 U-Multilink调试器的调试端口引脚功能定义与支持的MCU架构/系列对应关系:
2.1 Multilink Firmware更新软件下载与安装
2.2. Multilink Firmware更新软件使用详解
3.3 Multilink与OSBDM和OSJTAG以及OpenSDA的关系
浅谈嵌入式MCU软件开发之Qorivva MPC56xx/57xx系列MCU的模式控制与切换
1.MPC56xx/57xx系列MCU的应用特点和工作模式概况
2.1 各种运行模式和低功耗模式的进入和退出条件及相互切换状态机
2.4 外设运行模式配置寄存器(ME_RUN_PC0..7)
2.5 外设低功耗模式配置寄存器(ME_LP_PC0..7)
1.1 外设驱动层(PD--Periperal Driver)
1.2 外设抽象层(PAL--Peripheral Abstract Layer)
4. S32 SDK的通信外设驱动组件API函数的阻塞与非阻塞发送与接收API函数差别与使用详解
1. SDK的MCU平台相关设备驱动解析(SDK/platform/devices目录)
1.2 子目录S32K1xx(为具体使用的MCU型号,可能为 S32K116/S32K118/S31K142/S32K144/S32K146/S32K148)
S32K1xx系列MCU使用Tips之SDK软件架构和使用详解
1.1 S32 SDK的3个软件版本--EAR/Beta/RTM
3. 2 SDK 初始化API函数的调用顺序及与MCU外设模块初始化的关系
3.3 使用FreeRTOS时必须调用INT_SYS_SetPriority()对所有使能的外设中断进行优先级设置(S32K系列MCU)
3.4 在S32 SDK中中断向量表在Startup的过程中已经自动拷贝到SRAM中,故用户可以在线(程序运行时)改变外设中断的ISR
3.6 如何打开SDK的Processor Expert GUI配置并添加SDK组件?
S32K1xx系列MCU使用Tips--功能介绍及软件开发和硬件设计FAQ
1.1 具体的S32K1xx系列MCU的内核即外设资源框图:
1.2 S32K11x与S32K14x系列MCU的封装、内核外设资源对比:
1.4 S32K1xx系列MCU的part number命名规则
S32K14x系列MCU使用Tips之硬件FPU特性介绍和使用详解
1.1. Cortex M4F CPU内核FPU的寄存器组以及控制状态寄存器功能介绍
1.2 Cortex M4F CPU内核FPU的汇编指令集介绍
2. S32K14X系列MCU的FPU使用(基于S32K144的S32DS应用工程)
2.2 配置S32K14x的S32DS应用工程使能内核硬件FPU
2.3 关于S32DS应用工程FPU Support选项配置的说明
3.1 EWL库with FP instructions(hard)
3.2 EWL库with Libary with FP(softfp)
3.4 EWL库with Toolchain default
3.6 S32K14x系列MCU硬件FPU使用注意事项(Tips)
浅谈嵌入式MCU系统软件开发之S32K1xx系列MCU的MPU配置与使用详解
1.1 S32K1xx系列MCU的MPU模块管理的逻辑总线Master ID和Slave分配
2.4 区域描述符配置字寄存器(RGD0_WORDx - RGD15_WORDx)
3.2 权限违规认定(Privilege violation determination)
4.S32K1xx系列MCU的MPU的SDK使用和配置注意事项
4.2 S32K SDK中的MPU配置组件使用Tips和MPU配置注意事项
S32K1xx系列MCU使用Tips--Flash加密后不断复位无法连接调试器的问题解决
解密方法(problem resolve solution)
1. 使用PEMicro的Debugger,配置使能Emergency Kinetis Device Recovery by Full Chip Erase
2. 使用Segger的J-Link Commander的unlock Kinetis命令进行解密/解锁。
S12(X)系列MCU的片上存储器资源与分页访问机制详解(一)
S12(X)系列MCU的片上存储器资源与分页访问机制详解(二)
S12(X)系列MCU的加密(Secure)原理和解密(Unsecure)方法
2.2 通过量产工具--Cyclone Pro/Universal编程器
3.2 使用后门访问秘钥(backdoor access key )
汽车ECU参数标定之配置e200系列CPU内核MMU实现Qorivva MPC56xx_57xx系列MCU的参数在线实时标定
2.1 MMU配置寄存器--MMUCFG/SPR-1015 与 TLBCFG/SPR-689
4.1 TLB传输重加载(Translation Reload)
汽车ECU参数标定之配置Overlay RAM实现Qorivva MPC57xx系列MCU参数在线标定和代码重映射运行原理和方法详解
2.1 平台Flash标定区域描述字寄存器配置字0--PFLASH_PFCRDn_Word0
2.2 平台Flash标定区域描述字寄存器配置字1--PFLASH_PFCRDn_Word1
2.3 平台Flash标定区域描述符寄存器配置字2--PFLASH_PFCRDn_Word2
2.4 平台Flash重映射描述符使能寄存器--PFLASH_PFCRDE
2.5 平台Flash重映射控制寄存器--PFLASH_PFCRCR
3. MPC5744P Flash 重映射标定数据到Overlay RAM在S32DS for Power V2017.R1中的应用工程实现
3.1 配置应用工程链接文件,划分标定数据的存储地址Flash空间和运行时重映射Overlay RAM空间
3.2 将标定数据从Flash拷贝到Overlay RAM中
S32DS IDE使用Tips--SDK使用常见问题(FAQ)答疑
方法2. 选中应用工程,右键-->SDKs添加(适用于创建工程时未使能SDK的应用工程)
FAQ NO.2 如何添加/切换使用SDK时Processor Expert的MCU引脚封装?
FAQ NO.3 如何打开SDK的demo工程以及如何使用demo工程?
方法1. 通过S32DS IDE的软件更新推送,给S32DS IDE打补丁安装
方法2. Check S32DS IDE官网,下载升级包安装,然后本地安装
FAQ NO.5 如何查看SDK外设组件(Component)的帮助文档?
S32DS IDE使用Tips--应用工程调试常见问题(FAQ)答疑
2. 如何下载和调试非S32DS IDE工程的S19/HEX/BIN/elf编译结果?
3. 如何查看Qorivva MPC57xx和S32R系列MCU的e200Zx系列CPU内核的特殊寄存器(SPR)?
5. 如何在程序下载时保护特定NVM(Flash/EEE)地址内容不被擦除?
6. 如何加载不同的Flash算法文件编程Data-Flash和外部QSPI Flash?
8. 如何导出储存器中的编程结果到S19/HEX/BIN文件?
S32DS for Power community 社区链接:
S32DS for Vision community 社区链接:
S32DS IDE使用tips--工程属性配置(编译选项和C编译器、汇编器及链接器设置)
4. 配置Standard S32DS C Compiler(C编译器)
5. 配置Standard S32DS C Linker(C链接器)
6. 配置Standard S32DS Assembler (汇编器)
S32DS IDE使用Tips--利用Attach功能定位bug和调试bootloader
1. PEMicro系列调试器与Segger J-Link调试器介绍
2. 基于PEMicro调试器的S32DS Attach调试方法与步骤
3. 基于J-Link调试器的S32DS Attach调试方法与步骤
S32DS IDE使用Tips--如何通过创建新的编译目标(Build Target)在同一个S32DS工程中同时编译静态库和应用程序
1. 什么是S32DS工程的编译目标(Build Target)
2. 通过创建新的编译目标(Build Target)在同一个S32DS工程中同时编译静态库和应用程序的具体方法和步骤
2.2 在应用工程中创建新的编译目标并复制静态库工程的编译目标配置用于编译静态库
总结(如何创建和配置CodeWarrior IDE的编译目标)
1. S32DS for ARM v1.3中编译生成和调用静态库的方法和步骤
2. S32DS for ARM v2.0编译生成和调用静态库的方法和步骤
3. S32DS for Power v1.1和S32DS for Power v1.2编译生成和调用静态库的方法和步骤
S32DS for ARM v2018.R1安装IAR Eclipse Plugin插件调用IAR工具链开发S32K系列MCU应用程序详解
1. S32DS for ARM v2018.R1安装IAR Eclipse Plugin插件
3. S32DS for ARM v2018.R1 安装IAR Eclipse Plugin后,添加S32K SDK的PAL层组件编译报错文件解决
4. 将IAR和GCC(S32DS)工具链集成在一个S32DS应用工程中,共用一个SDK处理器专家配置(样例工程下载与使用介绍)
S32DS IDE使用Tips之S32DS for Power不同版本之间的GNU工具链差异与外设寄存器位域访问问题总结
1. S32 DS for Power IDE不同版本使用的GNU工具链介绍
1.1 S32 DS for Power V1.1的GNU工具链
1.2 S32 DS for Power V1.2的GNU工具链
1.3 S32 DS for Power v2017.R1的GNU工具链
2. 不同S32 DS for Power代码编译结果的差异
2.1 S32 DS for Power V1.1新建应用工程默认使用其安装目录下的GNU gcc 4.5.2工具链
2.2 S32 DS for Power V1.2新建应用工程默认使用其安装目录下的GNU gcc 4.5.4工具链:
3. 问题分析(the root cause analyze)
4. 1 方法一:在S32DS for Power v1.2中调用S32DS for Power v1.1的GNU工具链
S32DS IDE使用Tips之S32DS for Power v1.1应用工程升级到v1.2重新编译运行程序跑飞问题解决
Step 3、替换section.ld文件中的.text 段放置内容
2. 问题分析(the root cause analyze)
2.2 修复链接文件前的异常的系统库函数_init和程序跑飞原因
2.3 修复链接文件后的正常的系统库函数_init及其调用运行情况
S32DS IDE使用 tips--使用Flash from file下载S19或elf文件
2. 使用Flash from file下载S19/elf文件
CodeWarrior IDE使用Tips之Qorivva MPC56xx新建应用工程选项、调试高级选项及下载过程控脚本详解(CW 10.x)
1. CodeWarrior 10.6新建Qorivva MPC56xx MCU应用工程步骤和配置选项详解
2. CodeWarrior 10.6新建Qorivva MPC56xx MCU应用工程文件详解
4. CodeWarrior 10.6 Qorivva MPC56xx系列MCU应用工程调试配置高级选项详解
4.1 设置高级编程选项--查看编程过程细节、指定Flash算法实现对D-Flash和外部QSPI Flash的编程以及保护Flash地址空间
5. debugger下载过程控制脚本文件(MCP5604B_VLE.tcl)详解
5.2 关键词proc <functon_name> { parameter} { function script}定义脚本功能函数
① 在debug启动过程中调用MCP5604B_VLE.tcl
② 在调试界面中复位调试目标时调用MCP5604B_VLE.tcl
CodeWarrior IDE使用Tips之burner工具使用详解(实现不同类型存储器地址间的转换和NVM编程格式文件的输出)
1. CodeWarrior 5.x IDE应用工程生成S19文件的过程
2. CodeWarrior 5.x IDE的burner工具介绍
3. CodeWarrior 5.x IDE的burner控制命令文件burner.bbl解析
5. 控制CodeWarrior 5.x IDE应用工程burner.bbl文件生成包含RAM和D-Flash地址空间的数据/代码S19文件
5.1 首先在prm链接文件中单独分出一个RAM区(属性设置为READ_ONLY),并将用户定义代码段放置到其中
5.2 然后在源代码中使用#pragma CODE_SEG <code section name>标识用户代码
5.4 修改工程的burner.bbl文件,生成RAM地址的S19文件
CodeWarrior IDE使用Tips-Qorivva MPC56xx应用工程map文件全解析(CodeWarrior 2.10和10.x IDE)
2.14 .__uninitialized_intc_handlertable段分布
3. 1 通过工程内存映射信息,计算工程的RAM和Flash占用
4. 链接器生成符号表--Linker generated symbols
CodeWarrior IDE使用Tips之map文件详解(CodeWarrior 5.x/6.x 应用工程)
−SECTION-ALLOCATION SECTION(区分配)
−VECTOR-ALLOCATION SECTION(中断向量分配)
−OBJECT-ALLOCATION SECTION(目标文件段分配)
−SECTION USE IN OBJECT-ALLOCATION SECTION(目标使用区列表)
−OBJECT LIST SORTED BY ADDRESS(寄存器/全局变量/函数储存地址清单)
−UNUSED-OBJECTS SECTION(未使用函数清单)
−COPYDOWN SECTION(内存初始化copy down地址及大小)
−OBJECT-DEPENDENCIES SECTION (函数调用描述)
CodeWarrior IDE使用Tips-如何编译生成和调用静态库
2. 在CodeWarrior 5.x和CodeWarrior 6.x IDE中利用Libmaker for S12/S08编译生成和调用静态库
Step 2: 设置工程的链接器(Linker)为 Libmaker for HC12
3. 在CodeWarrior 2.10 IDE中编译生成和调用静态库
4. 在CodeWarrior 10.6/7 IDE中编译生成和调用静态库
CodeWarrior与S32DS IDE使用 Tips之如何在应用工程中保留定义但未使用的全局常量、变量(用于参数标定)
1. CodeWarrior 5.x/6.x/10.x(适用于S08/S12(X)和MagniV S12Z系列MCU)
2. CodeWarrior 2.10/10.x(适用于Qorivva MPC56xx系列MCU)
3. S32DS for ARM/Power(适用于Qorivva MPC57xx和KEA/S32K1xx系列MCU)
CodeWarrior IDE使用Tips之如何通过prm文件指定汇编代码函数、全局变量和常量的储存地址
第一步、在汇编应用工程prm链接文件中的段放置PLCAEMENT..END中定义一个用户段名,并将其指定到想要放置的地址分区中:
第二步、在汇编源代码函数定义前定义用户段名,以指示代码段开始:
CodeWarrior IDE 版本选择与 License功能(feature)和价格,授权形式差异、激活方法与安装使用
2. CodeWarrior IDE的license类型和功能(feature)/价格差异
3. CodeWarrior IDE License的授权形式/方法
4. CodeWarrior IDE License的激活方法和安装
外设使用Tips之MCU内部集成IRC时钟工作原理、特性和trim原理及方法详解(以KEA系列MCU的ICS为例)
3.2 使用CodeWarrior IDE的Debug Configurations高级选项配置Trim IRC
5. 一些Freescale/NXP汽车级MCU内部集成IRC时钟相关的应用笔记和文档list
外设使用Tips之S12G系列MCU Startup之前的复位过程详解(COP看门狗复位和时钟监测复位中断识别与处理)
3. 不同的part对应TIM模块的通道数可能是6个或者8个,只有具有8个通道的part其通道7才能正常输入脉冲累加
6. 配置BDM调试时,TIM定时器时基计数器停止计数,从而避免反复进入TIM输出比较或者时基计数器溢出中断
《疑难答疑》之S32DS IDE调试启动过程详解与调试目标复位方法和步骤详解
3. 在S32DS for ARM v2018 中如何实现调试目标复位
4. 在S32DS for Power v2017.R1中如何实现调试目标复位
《疑难答疑》之S12G系列MCU使用Hiwave和BDM调试器debug时无法使用逻辑地址查看和保存P-flash问题的解决
《答疑解惑》之S12(X)系列MCU的CodeWarrior 5.x应用工程下载调试过程详解以及保护NVM存储器不被擦除
1. S12(X)系列MCU的CodeWarrior 5.x应用工程下载调试过程详解
《答疑解惑》之Win 10 64-bit OS中CodeWarrior IDE USB dongle license安装问题解决方法详解
第一步、下载安装USB Dongle驱动补丁,解决Windows下USB Dongle硬件驱动的问题
第二步、使用管理员权限运行Windows10 命令行cmd.exe, 然后再运行lmtools工具,解决lmtools运行的问题;
配置S12系列MCU的离线Cyclone Pro Flash编程文件SAP
2.2. 根据S19文件格式判断是否存在地址0x400到0x1400之间的EEPROM数据:
2.3. 将S19文件中的EEPROM数据和P-Flash数据分离为两个独立的S19文件
2.4. 使用P&E公司的log2Phy 12软件将只含P-Flash数据的S19文件转换为连续物理地址的PHY文件
2.5. 使用Cyclone Pro Image Creation Utility配置SAP镜像文件
2.6. 保存编程脚本(Image,SAP文件)到Cyclone Pro
2.7. 使用Cyclone Pro Image Manager加载SAP文件到离线编程器Cyclone Pro:
在Cyclone Pro的硬件上,可以通过右侧的按键进行离线编程操作:
在Cyclone Pro的右边有8个与编程过程一一对应的状态指示灯:
4. 与Cyclone Universal [FX] 的差异(SAP文件兼容性、目标MCU供电管理)
4.2 Cyclone Pro与U-Cyclone的SAP文件转换工具和方法介绍
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
eleaction01 阅读:2922