打印
[文档下载]

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

[复制链接]
3972|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaoyang9992006|  楼主 | 2014-9-10 19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于新唐M0516的MDK+GCC的编译环境建立与LOOK应用开发

一,下载安装MDK+GCC编译环境
1,从KEIL主页上下载MDK471A的:http://www.keil.com/fid/edz9p7w1y9wj1wdx6b11rtc2z139r1a9qvmud1/files/eval/mdk471a.exe
并且默认安装到C盘的:C:\Keil,自行和谐处理。
2,从https://sourcery.mentor.com/GNUToolchain/release2449上面下载Sourcery CodeBench Lite Edition for ARM EABI
https://sourcery.mentor.com/GNUToolchain/package11445/public/arm-none-eabi/arm-2013.05-23-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,把[url=mailto:“j.y.lee@yeah.net]“j.y.lee@yeah.net[/url]”老师的“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,项目工程源码程序
9G-LOOK.rar (396.58 KB, 下载次数: 71) (注:LOOK部分由j.y.lee@yeah.net老师公布。)
沙发
gaoyang9992006|  楼主 | 2014-9-10 19:39 | 只看该作者
转载来的,内容不错,我喜欢。

使用特权

评论回复
板凳
598330983| | 2014-9-12 00:34 | 只看该作者
内容很不错,GCC这个东西很好用的,我以前开发AVR都是在GCC上搞,可以在Linux上做。

使用特权

评论回复
地板
niuyaliang| | 2014-9-12 12:05 | 只看该作者
这是九哥的东西,剽窃@缥缈九哥  

使用特权

评论回复
5
gaoyang9992006|  楼主 | 2014-9-15 12:22 | 只看该作者
niuyaliang 发表于 2014-9-12 12:05
这是九哥的东西,剽窃@缥缈九哥

不要乱用词语,我上面已经说明了,转载的。

使用特权

评论回复
6
gaoyang9992006|  楼主 | 2014-9-15 12:24 | 只看该作者
niuyaliang 发表于 2014-9-12 12:05
这是九哥的东西,剽窃@缥缈九哥

而且内容据说不全是九哥的,还有另外一个哥们的,另外一个哥们转了九哥的后,进行了添加,之后发的,我看不错,直接拿来了,这个叫拿来主义,况且我跟九哥关系老好了,呵呵,没事的:lol

使用特权

评论回复
7
骗子的片子| | 2014-9-15 14:18 | 只看该作者
gaoyang9992006 发表于 2014-9-10 19:39
转载来的,内容不错,我喜欢。

高版主,不错啊,给力

使用特权

评论回复
8
骗子的片子| | 2014-9-15 14:18 | 只看该作者
598330983 发表于 2014-9-12 00:34
内容很不错,GCC这个东西很好用的,我以前开发AVR都是在GCC上搞,可以在Linux上做。 ...

我也很喜欢,赞

使用特权

评论回复
9
骗子的片子| | 2014-9-15 14:19 | 只看该作者
niuyaliang 发表于 2014-9-12 12:05
这是九哥的东西,剽窃@缥缈九哥

技术上的东西不全是剽窃

使用特权

评论回复
10
骗子的片子| | 2014-9-15 14:20 | 只看该作者
gaoyang9992006 发表于 2014-9-15 12:22
不要乱用词语,我上面已经说明了,转载的。

嗯,不错,先小人后君子

使用特权

评论回复
11
骗子的片子| | 2014-9-15 14:20 | 只看该作者
gaoyang9992006 发表于 2014-9-15 12:24
而且内容据说不全是九哥的,还有另外一个哥们的,另外一个哥们转了九哥的后,进行了添加,之后发的,我看 ...

帮高大版主顶一下,高版主好样的

使用特权

评论回复
12
mintspring| | 2014-9-15 21:10 | 只看该作者
赞一个,这个帮助我了,不是转过来,我还真不知道有这等好**,谢谢楼主。

使用特权

评论回复
13
mintspring| | 2014-9-15 21:10 | 只看该作者
骗子的片子 发表于 2014-9-15 14:20
帮高大版主顶一下,高版主好样的

你的头像太搞笑了。

使用特权

评论回复
14
gaoyang9992006|  楼主 | 2014-9-16 09:32 | 只看该作者
mintspring 发表于 2014-9-15 21:10
赞一个,这个帮助我了,不是转过来,我还真不知道有这等好**,谢谢楼主。 ...

不客气。

使用特权

评论回复
15
mintspring| | 2014-9-17 18:13 | 只看该作者
gaoyang9992006 发表于 2014-9-16 09:32
不客气。

帮了大忙了,谢谢。

使用特权

评论回复
16
gaoyang9992006|  楼主 | 2014-9-17 18:19 | 只看该作者
mintspring 发表于 2014-9-17 18:13
帮了大忙了,谢谢。

呵呵

使用特权

评论回复
17
骗子的片子| | 2014-9-18 22:25 | 只看该作者
mintspring 发表于 2014-9-15 21:10
赞一个,这个帮助我了,不是转过来,我还真不知道有这等好**,谢谢楼主。 ...

你这是感谢这个姓高的版主么

使用特权

评论回复
18
骗子的片子| | 2014-9-18 22:25 | 只看该作者
mintspring 发表于 2014-9-15 21:10
你的头像太搞笑了。

哪里搞笑了,就是活泼一点嘛

使用特权

评论回复
19
骗子的片子| | 2014-9-18 22:26 | 只看该作者
gaoyang9992006 发表于 2014-9-17 18:19
呵呵

最讨厌别人呵呵了,谁呵呵我,我呵呵他一脸

使用特权

评论回复
20
骗子的片子| | 2014-9-18 22:26 | 只看该作者
gaoyang9992006 发表于 2014-9-10 19:39
转载来的,内容不错,我喜欢。

剽窃:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1905

主题

15675

帖子

201

粉丝