野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19104|回复: 4

AC5 to AC6

[复制链接]
发表于 2019-11-24 20:35:30 | 显示全部楼层 |阅读模式
本帖最后由 初晴sama 于 2019-11-25 14:30 编辑

编译器升级注意事项总结
1:CMSIS、HAL,直接使用,CMSIS使用5.6稳妥
2:使用FreeRTOS需要更改port.c,AC5使用RVDS下的,AC6使用GCC的
3:C/C++下,优化等级选0,语言选c99、c++1或者gnc99、gnc11是一样的
4:AC6下中文的C文件需要更换成UTF-8,AC5如果继续使用此文件,需要在misc control下添加--locale=english,调试的时候会乱码,所以可以默认的就行了,不用添加--locale=english
5:养成良好习惯,可以在使用不同编译器时添加不同编译器定义
defined ( __CC_ARM )

#elif defined(__GNUC__)或者是defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
6:AC5/AC6相关的定义区别如图2
7:为养成良好习惯,list、output生成的文件建议区分成AC5(AC6)
8:  AC6定义相关指定地址,请使用section(“”name“”),或者__attribute__((section(".ARM.__at_0xxx")))
9:使用stemwin  GUICONF需要修改,见文件3.主要原因是at不支持,所以改成指针就行。
注意:
1、hal库下uart的头文件官方是不对的,比如stm32h7xx_uart_h,官方少了一个2
2、其次,就是刚刚说的编码,可以不管,还有一个就是printf格式串(cm_backtrace),也可以不用管
cm_backtrace没有使用gnc的功能,用这个替换 defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
3、keil版本请使用5.26以上,下面的工程:freertos10.2,cmsis 5.6
4、优化等级一定要选0,否则模拟ii2会出错,比如电容屏配置。

TU 1

TU 1

tu 2

tu 2

任务管理.zip

2.34 MB, 下载次数: 18

H743+FreeRTOS

任务管理2.zip

2.36 MB, 下载次数: 19

1的基础上加cm_backtrace

GUIConf.zip

1.55 KB, 下载次数: 16

回复

使用道具 举报

发表于 2019-11-25 11:21:56 | 显示全部楼层
有没有一个具体的工程参考一下啊 ?
回复 支持 反对

使用道具 举报

发表于 2019-11-25 12:07:31 | 显示全部楼层
弄几个对比工程吧,来加精
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-25 14:02:47 | 显示全部楼层
WishWish 发表于 2019-11-25 12:07
弄几个对比工程吧,来加精

好的,稍等
回复 支持 反对

使用道具 举报

发表于 2019-12-17 21:06:05 | 显示全部楼层
事实上官方的https://developer.arm.com/docs/100068/0613已经很详细了,
由于前端从EDG迁移到了clang, 友好程度可以说有了质的飞跃, 不过由于clang要兼容gcc, 好像clang不支持ARM格式的汇编, 要用ATT格式的汇编,
或者使用arm自己的armasm, 相应的内联汇编也要按GNU的来... 不过用了LLVM系列的工具链arm还是不支持不支持ld script, 符号与内存的排布还是要靠
scatter file来... 不过有大佬清楚LLVM在嵌入式平台上的应用么...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 02:05 , Processed in 0.032086 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表