欢迎光临散文网 会员登陆 & 注册

使用bat命令快速完成移植——把STM32F407的keil版程序移植到IAR for ARM上进阶版

2020-04-13 22:20 作者:江湖夜雨飘零客  | 我要投稿

上次说了使用正点原子的Keil历程创建好一个IAR工程,如果每次都这样,还是有点麻烦的,有没有更简单的方法呢?当然有,使用Ctrl + C 和 Ctrl + V绝对是每个人使用的次数最多的快捷键,没有之一。那么废话少说,开始

首先,在上次建立的IAR文件中新建一个“IAR移植修改命令.bat”文件,就是我们后面要用到的主角,

里面的内容,::后面的绿色为注释

目标,使用移植成功的“实验0 Template工程模板”来完成“实验1 跑马灯实验”的移植

代码:

::set"yuanlaidemingzi= 跑马灯实验" 

::原来的名字

::set "xianzaidemingzi=zyxy"

::修改IAR目录下的文件名

ren 跑马灯实验.* Template工程模板.*

::进入目录中的IAR\settings文件夹

cd settings

::修改IAR\settings目录下的文件名

ren 跑马灯实验.* Template工程模板.*

::返回上一层,进入项目文件夹\IAR

cd..

::返回上一层,进入项目文件夹\实验0 Template工程模板

cd..

::进入目录中的\实验0 Template工程模板\SYSTEM\usart文件夹

cd SYSTEM\usart

@echo off

::打开目录下的文件“usart.c”,主要是修改里面的支持printf函数的几句

for %%i in (usart.c) do (   

    (for /f "delims=" %%a in ('type "%%~fi"') do (

        ::把每一行的内容,赋值给  foo

        set "foo=%%a" 

        ::开启,延迟变量

        setlocal enabledelayedexpansion

        ::3个在前一行添加的内容

        if "!foo:~,5!"=="#if 1" echo #define         IAR      //使用IAR时,使能该句支持printf函数,使用keil时屏蔽掉

        if "!foo:~,36!"=="#pragma import(__use_no_semihosting)" echo #ifndef IAR

        if "!foo:~,14!"=="FILE __stdout;" echo #endif 

        :: 一个替换 

        set "foo=!foo:_sys_exit(int x)=void _sys_exit(int x)!" 

        echo,!foo!

        endlocal

        ::写到usart1.c    

    ))>usart1.c

)

::删除usart.c

del usart.c

::修改文件  usart1.c 为 usart.c

ren usart1.c* usart.c*

pause

exit

OK,开始Ctrl + C 和 Ctrl + V,

以已经移植成功的“实验0 Template工程模板”为基础,把其中建里的“IAR”文件夹 Ctrl + C 

Ctrl + V到我们要移植的工程文件夹里面

打开复制的IAR文件夹 →在文件“IAR移植修改命令.bat”上右键 →编辑

打开文件后,如下图所示的两个地方的名字需要为修改之工程的名字,我修改之的为“Template工程模板”

如下图所示的两个地方的名字需要为修改之工程的名字,我修改之的为“跑马灯实验”,保存一下,关闭文件。

打开,目录\实验1 跑马灯实验\SYSTEM\usart →usart.c       文件,可以看到,内容在IAR中编译会报错,无法支持printf函数

双击文件“IAR移植修改命令.bat”,结果如下,可以看到,该目录下的文件名已经改变

打开\实验1 跑马灯实验\IAR\settings     可以看到文件名也已经改变

打开,目录\实验1 跑马灯实验\SYSTEM\usart →usart.c            可以看到如图所示的四个地方已经修改

致辞,工程移植完成了一大半

打开IAR for ARM  →Project →Add Existing...

选择文件    跑马灯实验.ewp       打开

如下图所示,选择   编译  提示新的工作空间,

提示,选择是

可以编译成功,至此移植成功,以后就可以像打开其它IAR工程一样,直接打开.eww的工作空间文件就OK

使用ST-LINK下载运行,OK,就不演示了


愿你走出半生

归来仍是少年

                        ————————2020年4月13日22:20:08

使用bat命令快速完成移植——把STM32F407的keil版程序移植到IAR for ARM上进阶版的评论 (共 条)

分享到微博请遵守国家法律