基于MDK的ARM-GCC开发环境建立及新唐M0的HID类设备的C++开发
1,查看arm-none-eabi-gcc编译工具版本
打开网页:https://sourcery.mentor.com/GNUT ... db0be6eb3fb4a618248
有关详细的工具手册。
2,下载arm-none-eabi-gcc编译工具链
打开网页:https://sourcery.mentor.com/GNUToolchain/release2322
下载文件:arm-2012.09-63-arm-none-eabi-i686-mingw32.tar.bz2
详细连接:https://sourcery.mentor.com/GNUT ... 686-mingw32.tar.bz2
3,安装arm-none-eabi-gcc编译工具链
把arm-2012.09-63-arm-none-eabi-i686-mingw32.tar.bz2解压到目录:C:\Sourcery\
或者下载:arm-2012.09-63-arm-none-eabi.exe并且安装(详细连接:https://sourcery.mentor.com/GNUT ... 3-arm-none-eabi.exe)
4,配置系统环境变量
右击“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”选择“Path”后点击“编辑”出现“编辑系统变量”
后在“变量值”后增加“;C:\Sourcery\arm-2012.09\bin;C:\Sourcery\arm-2012.09\arm-none-eabi\bin”后连续按三次“确定”。
4,测试arm-none-eabi-gcc编译工具链
在开始菜单中打开“运行”,执行cmd.exe,然后在里面执行命令:arm-none-eabi-gcc -v
然后查看版本是不是:gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-63)
二,建立MDK环境
1,在“D:\works\9G-CM0\HID\prj”下新建MDK空工程“hid.uvproj”,并且在“prj”下建立“obj”和“lst”文件夹,
在“D:\works\9G-CM0\HID”下建立“inc”和“src”目录;
2,点开“project->manage”下的“Components,Environment and Books”,中间的一页“Folders/Extensions”,
勾选“Use GCC”,并且“GNU-Tool-Prefix”用“arm-none-eabi-”,“GNU-Tool folder”用“C:\Sourcery\arm-2012.09”
3,配置工程“Options”,obj文件放到“prj\obj”,lst文件放到“prj\lst”,在“User”的编译结束
后执行“arm-none-eabi-size !L.elf”来生成的ELF目标码的大小提示;
4,在“CC”页面勾选“Compile Thumb Code”,“Optimiation”用“Level 2 (speed)”,“Warning”用“Level 1”,
在“Misc Controls”用“-pipe -ffunction-sections -fdata-sections -fshort-wchar -gstrict-dwarf -finline-limit=100000000”
5,在“Linker”页面的选择不用系统库及启动文件,连接脚本用“.\nuc122_usb.ld”,“Misc Control” 用:
“-Wl,--relax -Wl,--gc-sections -Wl,-z -Wl,max-page-size=0”
6,然后在工程树中的“Target1”下面创建文件组“Configuration”“C++ Source”“C Source”和“Document”
右击“C++ Source”修改它的“Options”->“CC”的“Include Paths”用“..\inc”,而“Misc Controls”为:
“-std=c++11 -fno-rtti -fno-exceptions -Wno-pmf-conversions”
7,需要下载整个工程源码的可以与我联系。
三,测试HID通信
1,打开“Bus Hound 6.01”软件,选择“Devices”页面,勾选上“Auto select hot plugged devices”,然后把HID工程编译下载到目标板
NUC123-TINY后运行,听到电脑“冬叮”一声,会自动选择上要监测的“(37)USB人体学输入设备”和“(38)HID-compliant device”;
2,把“(38)HID-compliant device”前的勾去掉,双击“(37)USB人体学输入设备”出现命令发送窗口,选择到“USB”页,点选端点中的
“interput Out”,“data length”填写“64”,再在下面的“Hex Bytes”中填入64个字节的“55”;
3,在“Bus Hound 6.01”的“Capture”页面的右下角点击上“Run”,再到刚才的“USB”命令页面上面的“Run”按钮,就可以把64个
BYTE的0x55发送给HID从设备;
4,在“Bus Hound 6.01”的“Capture”页面的数据窗口,你就能看到USB发送了64个0x55并且接收到64个0xaa。测试正确。完毕。
基于MDK的ARM-GCC开发环境建立及新唐M0的HID类设备的C++开发的更多相关文章
- Atitit codeblock c++开发环境建立attilax总结
Atitit codeblock c++开发环境建立attilax总结 1.1. C++的重要意义 1 1.2. 项目ide的选项 1 1.3. 安装MinGW (基于GCC的C++编译器) 50 ...
- Android开发环境建立
一.For windows 7(注:XP会有问题) 1.JDK-Java SE download: http://www.oracle.com/technetwork/java/javase/down ...
- Qt学习笔记-1 开发环境建立
关于Qt在这里不做过多介绍,吸引我的地方是有几点: 1.用C++开发语言: 2.多平台(wWindows.MAC.Linux.Android等): 3.界面所见几所得.其他的可以百度上了解: 从本文开 ...
- 2 配置Ionic开发环境以及创建新的项目
1.开发环境需要的软件有: node.js http://nodejs.org 可以到官方网站下载对应平台的安装包安装即可,如果已经安装,需要把它升级到最新的稳定版本 在终端可以输入$node ...
- Android开发环境的发展以及重装系统之后在myeclipse重配Android开发环境。
android的开发环境早期要自己去去官网下SDK,ADT,AVD等.不仅在一开始要面临国内防火墙的阻拦,四处奔波之后都下载好了,还得自己Linked,可谓困难重重.随着android开发的火热,上面 ...
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
http://blog.csdn.net/yinjiabin/article/details/7489030 建立 nfs 服务器 在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的 ...
- android和linux开发环境建立(驱动层)
流程:安装ubutu14.04操作系统==>安装各种库和应用程序并配置环境变量 1,install ubuntu14.04 为了完全释放PC机的资源,我们安装在主机上,就不用虚拟机来玩了.下面是 ...
- (一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)
首先用的是 keil4 位与 ( F:\ARM+LINUX\MDK-ARM_v4.10.exe ) 1. 新建工程名project 为 led circle ,放在 我的文档\ l ...
- CCS3.3之DM642开发环境建立
使用的仿真器是SEED-XDSUSB2.0/5V. 之前用的是CCS2.2,换成了CCS3.3的. 1.安装CCS3.3.38.在我安装完后,并没有急着升级,升级的程序是SR12_CCS_v3.3_S ...
随机推荐
- 关于EJB 时间注解与oracle数据库时间格式
EJB中Temporal是时间注解,其中TemporalType是时间注解的枚举类型其中包括 TemporalType类型,请看源码/*** Type used to indicate a speci ...
- NOIP2012模拟试题 121105【奶牛排队(tahort)
3.奶牛排队(tahort) [ 问题描述] 奶牛在熊大妈的带领下排成了一条直队. 显然,不同的奶牛身高不一定相同…… 现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A是最矮的,最右边的 ...
- poj 1149 pigs ---- 最大流
题意以及分析:http://ycool.com/post/zhhrrm6#rule3 主要是建图,简化图,然后在套最大流的模板. #include <iostream> #include& ...
- 创建、更新、删除文档。 --- Mongodb权威指南阅读。
插入文档: db.foo.insert({ "key" : "value"}); 使用insert插入一个数据,文档中如果没有_id 会自动给文档增加_id. ...
- hadoop笔记之MapReduce的应用案例(WordCount单词计数)
MapReduce的应用案例(WordCount单词计数) MapReduce的应用案例(WordCount单词计数) 1. WordCount单词计数 作用: 计算文件中出现每个单词的频数 输入结果 ...
- ie6,ie7,ie8 css bug汇总以及兼容解决方法
1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...
- Combotree,datebox 启用 禁用
combotree <input type="checkbox" id="ckMonitor"></input> <input i ...
- Adobe Acrobat 9 Pro 简体中文正式版(免激活)
软件语言:简体中文版本性质:官方正式版(免激活,非破解) Mac & PC [SN]: 1118-4018-6583-4956-2486-7805 修改 Abcpy.ini 可实现免序列号免激 ...
- visual leak dector内存泄漏检测方法
http://vld.codeplex.com/ QT 内存泄露时,你们一般用什么工具检测啊 ------解决方案--------------------这篇你觉得详细么 :http://newfac ...
- Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...