keil工程 freertos+emwin AC5编译器移植到AC6编译器

本文基于正点原子的rtos工程进行移植。
打开工程,将其更换为AC6编译器,然后点击编译

编译完成之后,如下图,可以看到有很多的错误。

首先按照下面这篇文章修改好之后,再次进行编译

keil工程 freertos AC5编译器移植到AC6编译器

可以看到这次的错误出现在malloc.c里面,原因是因为AC6编译器已经识别不了这些指令了。我们将以上错误更换下面的

//内存池(4字节对齐)
__attribute__((aligned(4))) u8 mem1base[MEM1_MAX_SIZE];
__attribute__((aligned(4))) u8 mem2base[MEM2_MAX_SIZE] __attribute__((section(".ARM.__at_0x68000000"))); //外部SRAM内存池
__attribute__((aligned(4))) u8 mem3base[MEM3_MAX_SIZE] __attribute__((section(".ARM.__at_0x10000000"))); //内部CMM内存池
//内存管理表
u16 mem1mapbase[MEM1_ALLOC_TABLE_SIZE];                                                 //内部SRAM内存池MAP
u16 mem2mapbase[MEM2_ALLOC_TABLE_SIZE] __attribute__((section(".ARM.__at_0X680C8000")));  //外部SRAM内存池MAP
u16 mem3mapbase[MEM3_ALLOC_TABLE_SIZE] __attribute__((section(".ARM.__at_0X1000F000")));  //内部CCM内存池MAP
//内存管理参数
const u32 memtblsize[SRAMBANK]={MEM1_ALLOC_TABLE_SIZE,MEM2_ALLOC_TABLE_SIZE,MEM3_ALLOC_TABLE_SIZE};    //内存表大小
const u32 memblksize[SRAMBANK]={MEM1_BLOCK_SIZE,MEM2_BLOCK_SIZE,MEM3_BLOCK_SIZE};                  //内存分块大小
const u32 memsize[SRAMBANK]={MEM1_MAX_SIZE,MEM2_MAX_SIZE,MEM3_MAX_SIZE};                           //内存总大小

我将上面的各个块的地址计算出来然后加到新指令里面,暂时还没想到什么特别好的方法,然后我们在进行编译

可以看到错误明显的变少了。

再次进行工程编辑,把CC_ARM的宏定义取消,


可以看到编译成功。

keil工程 freertos+emwin AC5编译器移植到AC6编译器相关推荐

  1. keil工程 freertos AC5编译器移植到AC6编译器

    keil工程 freertos AC5编译器移植到AC6编译器 本文基于正点原子的rtos工程进行移植. 打开工程,将其更换为AC6编译器,然后点击编译 编译完成之后,我们可以看到有很多的错误,这里要 ...

  2. keil5工程 AC5 编译器升级 AC6编译器

    keil5工程 AC5 编译器升级 AC6编译器 1.概述 2.移植 1.概述 传统keil mdk的编译速度远远落后于IAR,但自从keil新版发布之后,AC6编译器要超过了IAR的编译速度,接下来 ...

  3. keil 5.37安装AC5编译器

    keil 5.37 安装AC5编译器 1. 原因 5.37版本后keil不在默认安装ac5编译器,这样会导致之前使用ac5变异的工程无法正常正常编译 2. 解决办法 最简单的解决方式就是将之前旧版本的 ...

  4. freeRtos学习笔记 (9) 移植和CPU利用率统计

    freeRtos学习笔记 (9) 移植和CPU利用率统计 使用官方固件移植 首先准备一个能跑的裸机工程 注意,freertos需要使用systick定时器,而stm32HAL库默认使用systick作 ...

  5. CUBEMX+FreeRTOS使用ArmComplier6(AC6)编译器的设置方法

    最新的 KEIL MDK 5.37版本不再内置ArmComplier5(AC5)编译器, 笔者决定尝试将cubemx生成的FreeRTOS工程迁移至ArmComplier6(AC6)编译器.由于AC5 ...

  6. STM32f429 CubeMx FreeRTOS emWin (Cubemx有BUG)

    之前裸机emWin成功了,接下来尝试CubeMx FreeRTOS emWin,又遇到三个坑. 先说第一个坑: 我直接再之前裸机的工程上增加FreeRTOS,结果生成程序后,编译报一大堆错误,分析了一 ...

  7. STM32cube 生成freertos 使用AC6编译器编译

    cubemx 5.6    keil 5.29 一.使用stm32cubemx使能FreeRTOS 二.打开新建完成的KEIL工程(版本5.29),点击RTT选项 三.在RTT配置界面下,将RTOS选 ...

  8. STM32F4 之 keil 工程建立

    注:该文是对自己搭建 keil 工程所做精简记录,详细内容可参考<STM32F4开发指南-库函数版本_V1.1> 1 下载 pack 包 在 MDK5 安装完成后,要让 MDK5 支持 S ...

  9. 如何查看一个现有的keil工程之前由什么版本的keil IDE编译

    [问题背景] 我们会经常拿到一个别人做好的keil工程,某些情况下,你可能想跟作者使用同样的编译环境进行开发以免出一些奇怪的问题,或者你使用工程编译出来结果有问题,有怀疑是编译器问题,那么有没有什么办 ...

最新文章

  1. 美团高级技术专家:DDD 在旅游电商架构演进中的实践
  2. Safari、IE浏览器出现允许改写地址栏的漏洞
  3. flex采用blazeds实现服务器向客户端推数据
  4. android 解决错误:Intel HAXM is required to run this AVD
  5. 工厂方法模式及php实现
  6. windows系统如何进入环境变量
  7. IS-IS详解(十一)——IS-IS 区域间防路由环路和次优路径
  8. ABP vnext 未通过Token访问接口时显示HTML,调整为跳转403和提示
  9. 全局空间自相关算法:Join Count
  10. 百度文库免费下载(附:分享一些有趣的网站,最后一个可以免飞下载百度文库)
  11. 程序员值得提升的沟通小技巧!
  12. SDJZU DotA
  13. 网络信息安全之防火墙入反病毒技术 (七)
  14. 涉密台式计算机密码可以输入几次,涉密打印机、扫描仪等与涉密计算机之间不采用无线方式连接 - 作业在线问答...
  15. 【JY】西南交通大学柔性防护:边坡地质动力灾害柔性防护仿真
  16. 做好SEO需要考虑什么
  17. php中输出%3cbr %3e,抄板软件(彩色)CBR 5.3 CBR 5.3 CBR 5.0
  18. 研究生英语读写译教程下课文译文及课后答案3
  19. 内存泄漏检测工具vmmap使用指南
  20. mysql数据库druid密码加密_SpringBoot使用Druid数据库密码加密

热门文章

  1. scala 上界 <:, 下界>:, 视界 <%, 边界 :, 协变 +T, 逆变-T
  2. IDEA 配置 maven
  3. android模拟器不玩游戏,安卓模拟器哪个玩游戏最流畅?
  4. JavaScript获取浏览器可视区域的宽高
  5. 2021 年第一个双月总结
  6. android怎样传图片到mysql中
  7. PPT中修改已插入对象的图标
  8. wordpress瀑布流图片主题PhotoBroad模板V2.0
  9. [ vant ] vue移动端下拉刷新组件
  10. 趋势 | 极简再见,极繁回潮