您尚未登录。

楼主 #1 2020-05-09 18:39:24

缥缈九哥
会员
注册时间: 2020-05-09
已发帖子: 93
积分: 96

基于新唐M0516的MDK+GCC的编译环境建立与LOOK应用开发--缥缈九哥

基于新唐M0516的MDK+GCC的编译环境建立与LOOK应用开发
一,下载安装MDK+GCC编译环境
1,从KEIL主页上下载MDK471A的:http://www.keil.com/fid/edz9p7w1 ... es/eval/mdk471a.exe
        并且默认安装到C盘的:C:\Keil,自行和谐处理。
2,从https://sourcery.mentor.com/GNUToolchain/release2449上面下载Sourcery CodeBench Lite Edition for ARM EABI
        https://sourcery.mentor.com/GNUT ... 3-arm-none-eabi.exe
        并且默认安装到C:\Program Files\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI
        修改XP下的系统环境变量最前添加:C:\Program Files\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin;
       
3,在新唐主页上下载安装NU-LINK驱动和ICP软件,并安装到C:\Keil里面。
4,在新唐主页上下载数据手册,BSP包文件。
二,建立“Keil uVision4”工程项目
1,在“D:\works\9G-CM0\”下建立“9G-LOOK”目录,再在“9G-LOOK”目录下建立“look”“src”“inc”“prj”目录;
        在“prj”下再建立“debug\obj”“debug\lst”“release\obj”“release\lst”目录;
       
2,打开桌面的“Keil uVision4”,点开“project”->“New uVision project”选择路径到“D:\works\9G-CM0\9G-LOOK\prj”
        建立“9g-look”工程;
       
3,在接着的“select a CPU Data Base File”上选择“NuMicro Cortex M0 Database”数据库;在里面的“Nuvoton”下拉中选择
        器件中选择“M0516LBN”后点击OK并选择“否”禁止拷贝启动代码文件;
       
4,在“Keil uVision4”窗口的左面的“project”窗口里的“Target 1”改成成“debug”,下面的“Source Group 1”改名成“look”;
        并且在“project”窗口里的“debug”上右击“Add Group”建立一个空文件夹,并改名成“src”;
       
5,点击“Keil uVision4”窗口菜单的“Targets Options”,打开项目配置窗口的“Output”,点开“Select Folder for Objects...”
        选择到“D:\works\9G-CM0\9G-LOOK\prj\debug\obj\”并勾选上“Create HEX File”;
6,        打开项目配置窗口的“Listing”,点开“Select Folder for Listing...”选择到“D:\works\9G-CM0\9G-LOOK\prj\debug\lst\”;并且
    把下面的所有选项全部勾上;
   
7,在项目配置窗口的“User”窗口的编译成功能运行的命令第一行,第二行勾选并分别填入命令:
        “arm-none-eabi-objcopy.exe -O binary -j .text .\debug\obj\!L.elf  .\debug\obj\!L.bin”
        “arm-none-eabi-size.exe  !L.elf”
8,在项目配置窗口“CC”窗口,填上宏定义define:“SEMIHOSTING”,包含路径“..\src;..\inc;..\look\include”
        去掉“enable APCS...”和        “Support Calls Between ....”选择项并勾选上“Compile Thumb code”和真入编译器编译控制参数
        “-pipe -ffunction-sections -fdata-sections -gstrict-dwarf -finline-limit=100000000”
       
       
9,在项目配置窗口的“Linker”窗口里,勾选择上不用标准启动文件和库文件,填入连接脚本:“.\m051.ld”,LOOK的路径
        “..\look\lib”        和连接控制参数“-Wl,--relax -Wl,--gc-sections -Wl,-z -Wl,max-page-size=0”
       
10,在项目配置窗口的“Debug”和“Utilities”窗口里都选择上仿真下载器“Nuvoton Nu-Link Debugger”并勾选择上“Run to main{}”
        和“Update Target Before Debugging”。
11,在“project”->“Manage”->“Compoments...”的“Folders..”里面选择GCC做编译器前缀是“arm-none-eabi-”
        编译器的路径为:“C:\Program Files\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\”
12,在“project”->“Manage”->“Compoments...”的“Project...”里面增加一个“release”版本的工程,在这个工程“Targets Options”的
        “Output”和“Listing”指定目录到“release\obj”“release\lst”目录;“CC”里的宏定义“SEMIHOSTING”去掉;
13,右击在“Keil uVision4”窗口的左面的“project”下的“src”文件夹,选择“options”里的“CC”添加上编译选项
        “-std=c++11 -fno-rtti -fno-exceptions -Wno-pmf-conversions”
三,组织“Keil uVision4”工程项目
1,把“j.y.lee@yeah.net”老师的“look”里的“include”“lib”“look-rm.chm”全部复制到“D:\works\9G-CM0\9G-LOOK\look”        目录;
        把“.\m051.ld”复制到“D:\works\9G-CM0\9G-LOOK\prj”下,把“numicro”放到“INC”目录;
2,把“idle.cpp”“idle.h”“init.cpp”“scheduler.cpp”“systick.cpp”“vector.cpp”“semi.cpp”“semi.h”全部复制到
        “D:\works\9G-CM0\9G-LOOK\src”目录;
3,把文件“look.h”和“m0516lan.h”放到目录“D:\works\9G-CM0\9G-LOOK\inc”中,并且把上面的CPP文件添加到工程“Project”
        下面的“Debug”下的“src”中,把“look.h”“attribute.h”“sfr”“m0516lan.h”放到“D:\works\9G-CM0\9G-LOOK\inc”中。
       
4,把“redapricot”和“utils”文件夹及“sfr”文件复制到“D:\works\9G-CM0\9G-LOOK\inc”中;在D:\works\9G-CM0\9G-LOOK\src
建立“led.h”和“led.cpp”文件,编写LED闪烁代码并添加到项目工程的src中。
四,编译及运行工程项目
1,按“F7”进去项目工程的编译,“CTRL+F5”进行DEBUG下载;“F5”全速运行项目即可看到LED在秒闪烁。
2,项目工程源码程序,请到下面网址上下载:http://bbs.21ic.com/icview-554086-1-1.html

最近编辑记录 缥缈九哥 (2020-05-09 20:00:06)

离线

楼主 #4 2020-05-10 23:07:53

缥缈九哥
会员
注册时间: 2020-05-09
已发帖子: 93
积分: 96

Re: 基于新唐M0516的MDK+GCC的编译环境建立与LOOK应用开发--缥缈九哥

以前网易博客被撤消了,找个地方转存起来 。

离线

楼主 #7 2020-05-11 21:39:56

缥缈九哥
会员
注册时间: 2020-05-09
已发帖子: 93
积分: 96

Re: 基于新唐M0516的MDK+GCC的编译环境建立与LOOK应用开发--缥缈九哥

夏雨夜寐 说:

哈哈,九哥,你也来坑网了 big_smile
看帖子,你是把你博客的都搬过来了啊

是的,163上的帖子再不迁移过来就全军覆没了。。。。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn