本帖最后由 raspRun 于 2025-6-26 08:51 编辑
#申请原创# #每日话题# #有奖活动# #技术资源#
Geehy官方MCAL已使用一段时间了,现对IAR开发环境的搭建和使用过程进行解析详解。
1. IAR安装Ø IAR建议使用V8.50.10及以上版本,安装过程中一路默认安装即可。 Ø 安装IAR环境下平台对应的pack包Geehy.G32A14xx_AddOn_v1.0.1.exe: 以管理员模式运行Geehy.G32A14xx_AddOn_v1.0.1.exe,一路默认安装到如下界面,选择已安装完成的IAR安装目录,然后点击Install,进行安装即可: 2 Jlink驱动安装 建议安装7.96i版本及以上的Jlink驱动,因为从这个版本开始支持G32A14XX系列的平台。安装过程没有特别要注意的,一路默认安装即可。 3 IAR使用Ø 集成开发demo均放置在各个模块的useDemo路径下,下图为IRME的IAR基础开发demo,该工程兼容G32A1445和G32A1465,默认配置G32A1445平台 Ø 双击IrmeITA.eww打开IAR工程,工程目录结构如下 3.1 工程配置 选中工程(下图中蓝色背景)右键,弹出的对话框中选中Options,进入工程配置界面 a) 在IAR配置界面中,首先在General Options配置界面中,选中Device类型,点击标号1中的按键选择G32A1445/G32A1465;标号2处选择FPU类型为VFPv4 single precision b) C/C++ Compiler配置 点击上图中的标号1选择需要引入工程中用到的*.h头文件的路径信息 在标号2中添加工程所需要的全局宏定义 c) 配置链接文件路径,点击下图中标号1对应的按键选择链接文件路径,默认使用的路径是$PROJ_DIR$\..\..\..\Platform_TS_T23D06M1I0R0\startup\link\autosar_flash_g32a1445.icf,如果是G32A1465平台则使用路径$PROJ_DIR$\..\..\..\Platform_TS_T23D06M1I0R0\startup\link\autosar_flash_g32a1465.icf d) 调试器配置,如果使用的是JLINK调试器,则按下图的的标号1对应的下拉菜单中选择J-Link/J-Trace 最后点击Ok,完成IAR工程配置
打开后默认配置的是G32A1445平台,对应的IAR相关的配置基本已配置好,Debugger调试器默认是J-Link/J-Trace,如需其他调试器需对应更改调试器类型,然后点击Ok,完成配置 3.2 编译和下载编译IAR工程,点击菜单栏中的Project->Rebuild All编译工程 编译完成后,将调试器连接好开发板,然后点击Project->Downloadand Debug下载调试 3.3 芯片切换a) IAR demo切换到G32A1465平台,首先在IAR工程中点击标号1所对应的下拉框,选择G32A1465 b) 然后在IAR工程目录中双击G32A1465_Test.bat,完成G32A1465配置文件的切换 c) 然后在IAR中所有配置都已经配置好,只需按照1.3.1章节重新配值调试器为实际使用的即可进行工程编译和烧录调试 d) 如果要切换为G32A1445只需按照以上步骤进行即可 4 链接脚本使用及编写G32A1445存储资源分配: Ø 512KB Flash根据需求可将其分为以下段资源,根据项目开发需求可做动态调整。 /* G32A1445 -512 KB Flash in range 0x00000000:0x0007FFFF */ define regionflash_rsvd1_region = Mem:[from 0x0 to 0x07]; /* rcw word */ define regionflash_rsvd2_region = Mem:[from 0x400 to 0x40F]; /* flash configuration area*/ define regionflash_rsvd_fls_region = Mem:[from 0x410 to 0x46F]; /* a reserved section forFLASH-RAM functions */ define regionflash_rsvd_eep_region = Mem:[from 0x470 to 0x52F]; /* a reserved section forEEP-RAM functions */ define regionflash_memory_region = Mem:[from 0x530 to 0x7FFFF]; /* P-FLASH to be used byAPP */ Ø 60KB SRAM根据需求可将其分为以下段资源,根据项目开发需求可做动态调整。 /* G32A1445- 60KB RAM in range 0x1FFF8000:0x20006FFF */ define regioniram_intvec_region = Mem:[from0x1FFF8000 to 0x1FFF8388]; define regioniram_main_region = Mem:[from0x1FFF8390 to 0x20006A0F]; define regioniram_stack_region = Mem:[from0x20006A10 to 0x20006E0F]; /* a reserved 0x400 bytes ram section needed bystack */ define regioniram_rsvd_fls_region = Mem:[from0x20006E10 to 0x20006E6F]; /* a reserved 0x60 bytes ram section needed by FLS driver */ define regioniram_rsvd_eep_region = Mem:[from0x20006E70 to 0x20006F2F]; /* a reserved 0xC0 bytes ram section needed by EEP driver */ define regioniram_results_region = Mem:[from0x20006F30 to 0x20006FFF]; /* a reserved 0xD0 bytes ram section needed for testresults */.acfls_code_rom, section.aceep_code_rom};
至此MCAL基于IAR的开发环境及其项目应用解析完毕,可正常在IAR上开发项目。
|