一.教程

以下教程摘自中文乐高社区(博主:ntwuhui)

网址:http://bbs.cmnxt.com/thread-13374-1-1.html

相关软件:
BricxCC(支持EV3)

http://bricxcc.sourceforge.net/test_releases/bricxcc_setup_33810_20130220.exe
test_release20131007(最近一次版本)

http://bricxcc.sourceforge.net/test_releases/test_release20131007.zip
lms_api(以上地址需要FanQiang)

http://bricxcc.sourceforge.net/test_releases/lms_api.zip
Sourcery G++ Lite Toolchain for ARM GNU/Linux

http://sourcery.mentor.com/GNUToolchain/package4574/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.exe
EV3 Firmware V1.03H.bin(最新固件,经测试1.04M以及1.05M均可以使用)

http://www.lego.com/en-gb/mindstorms/mindstormservices/firmware-download-page/?assetid=%7bA4FFCBDA-FC2C-44F6-A876-B8A7DE7F2720%7d

1、BricxCC介绍
BricxCommand Center (BricxCC) 是一个专门用于LEGOMINDSTORMS 机器人家族的集成开发环境(IDE),甚至包括第三代产品EV3,BricxCC完全能够支持全系列的Windows平台,包括64位的Winodws7和8,甚至可以在Windows的各类服务器版本中运行。
 
       BricxCC提供丰富的语言用于机器人编程。包括使用NXC(Not Exactly C),NBC(Next Byte Codes),以及一种简单的编程语言NPG(使用NBC编译器),你还可以使用RICScript编程语言创建RIC图形图标,通过LeJOS你可以在BricxCC中使用Java语言为NXT编程。BricxCC使用Dave Naum提供的NQC(Not Quite C)语言支持RCX(所有版本)、Scout、Cybermaster以及Spybot编程,借助Mindstorms 2.5 SDK提供的MindScript(tm)以及LASM(tm)语言可以为 Scout,、RCX2,、Spybot编程。它甚至通过使用pbForth、brickOS以及leJOS的专用固件支持对Forth、C、C++、Pascal以及Java等的编程。

2、安装BricxCC
下载支持EV3编程的版本:bricxcc_setup_33810_20130220.exe,该版本目前能通过USB直接将编译好的程序下载到EV3的/media/card(需要SD卡支持)中,还能控制马达、播放音调、设置/读取砖块名称,显示电池电量等等。更多的功能包括:监视窗口、清除内存、消息工具、RGF图像编辑器。
        双击开始安装BricxCC:

登陆到 http://bricxcc.sourceforge.net/test_releases/,选择其中最近日期的文件名(http://bricxcc.sourceforge.net/test_releases/test_release2013NNNN.zip)下载并解压到BricxCC安装目录(我的位置:D:\BricxCC)。

找到BricxCC安装目录中的文件linux_tools.zip并解压

下载 http://bricxcc.sourceforge.net/test_releases/lms_api.zip,并解压到BricxCC安装目录

3、安装Sourcery G++
新一代Lego Mindstorms EV3配备了ARM9处理器,使用基于Linux系统的固件;Sourcery G++ 是基于开放源代码的嵌入式C/C++开发平台,提供了一整套完整强大的开发环境,所支持的系统包括Linux、Windows、SunSolaris,开发平台更是涵盖了包括ARM、Intel、MIPS、Power等众多平台,选择其中Sourcery G++ Lite for ARM GNU/Linux作为EV3的原生C++开发平台正是最佳选择。

下载Sourcery G++ Lite for ARM GNU/Linux并双击开始安装。

4.配置运行环境       

⑴ 配置环境变量
    依次打开“控制面板”、“系统和安全”、“系统”

选择“高级系统设置”
 

单击“环境变量”按钮
 

在用户变量中选择“Path”,单击“编辑”按钮
 
将“D:\BricxCC;D:\BricxCC\linux_tools;D:\CSLite\bin;”添加到变量值的前面

⑵ 更新EV3 固件至最新
   登陆LEGO Mindstorms Website下载最新固件(确保电池电量充足)
   用USB连接线将EV3与你的电脑相连(连不上的见这里
   启动BricxCC择“EV3”以及“Linux”作为固件类型。
 

 

 

整个下载过程大约持续5分钟,完成后EV3将自动重启。
重启后,一直按“向右“按键导航到最右侧”扳手“处,EV3屏幕将显示如下:(ID号因EV3不同而异)

5、运行你的第一个C++程序
 重新打开BricxCC,选择菜单“FIle”(文件)下面的“New”(新建):

输入或下载以下代码:

依次单击菜单“File”(文件)“Save”(保存) 并命名:test.c
单击菜单“View”(视图)“Project Manager”(工程管理)

右击空白处并选择“Add...”(增加)
 

定位到文件夹API(D:\BricxCC\API)
 

选择文件ev3_lcd.c,ev3_timer.c, and ev3_command.c.后,单击“Open”(打开)
 

下面打开文件test.prj(与test.c位于同一位置)
 

修改文件如下并保存


最后让我们编译文件,选择菜单“Compile”(编译) “Compile”(编译)
 
若编译正确,选择菜单“Compile”(编译) “Download and Run”(下载并运行),此时EV3屏幕上将显示如下:
 
(教程完毕!)

二.常见错误总结

1.

出现此错误,①请检查环境变量是否设置正确

②将linux_tools中的文件放在上一级文件夹中(其中包含make程序)

③检查GUN是否安装正确

2.BricxCC用USB链接不上电脑:

①更新最新的固件

②重启设备检查USB连接

3.编译出现错误:

可以按F12查看错误详情

在BricxCC中用C++语言为EV3编程相关推荐

  1. C语言嵌入式系统编程修炼

    C语言嵌入式系统编程修炼之内存操作篇 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力.在嵌入式 ...

  2. 浅谈C语言嵌入式系统编程注意事项

    C语言嵌入式系统编程注意事项之背景篇   本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上 ...

  3. C语言嵌入式系统编程修炼(经典中的经典)

    C语言嵌入式系统编程修炼      http://blog.chinaunix.net/u/25764/showart_326589.html转载自这里,真是太经典了. C语言嵌入式系统编程修炼   ...

  4. C语言嵌入式系统编程

    不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力.无疑,汇编语言具备这样的特质.但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发 ...

  5. C语言嵌入式系统编程注意事项

    不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力.无疑, 汇编语言 具备这样的特质.但是,归因于汇编语言开发过程的复杂性,它并不是 嵌入式系 ...

  6. C语言嵌入式系统编程修炼之道——性能优化篇

    C语言嵌入式系统编程修炼之道--性能优化篇 作者:宋宝华  e-mail:[email]21cnbao@21cn.com[/email] 1.使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法.对于嵌 ...

  7. C语言嵌入式系统编程修炼之(六)性能优化

    C语言嵌入式系统编程修炼之性能优化 使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法.对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法. 写一个"标准"宏MI ...

  8. 编写书籍《C语言嵌入式系统编程修炼之道》序言

    序言        目前,嵌入式系统已经无处不在,遍布于世界的每一个角落.智能家电.手机.PDA.汽车.通信电台等几乎所有的电力.电器与电子产品都包含一个或多个嵌入式系统.有人的地方就有江湖,有电的地 ...

  9. c语言二级编程题库,二级C语言题库-编程题.doc

    二级C语言题库-编程题 第 PAGE \* Arabic \* MERGEFORMAT 27 页第 PAGE \* Arabic \* MERGEFORMAT 27 页 1.请编写函数fun,其功能是 ...

最新文章

  1. Rocket - diplomacy - AddressAdjuster
  2. python 怎么报错后再次启动?
  3. linux实现乘法函数,linux命令行计算器
  4. 指针(*)、取地址()、解引用(*)与引用()
  5. Julia 向 Python 宣战!
  6. 【面试那点儿事】囧,分机号的故事
  7. 2021中国WMS市场发展趋势和特点
  8. 手把手搭个vue的脚手架 - 2. 模板搭建
  9. 单片机89C51最小系统讲解
  10. RabbitMQ基础入门教程(从安装到SpringBoot整合)
  11. C语言用梯形法求定积分
  12. 嵌入式设备和固件中的自动漏洞检测(一):概览
  13. js 递归创建文件夹
  14. 第二天-03-安卓手机的入侵实验
  15. 主线程退出对子线程的影响
  16. 计算机视觉入门 拜读
  17. Qt制作简单标签云(上)
  18. Unity之IOS和Android安装包大小优化
  19. 始于2015年11月23日,终于2018年08月08日
  20. netty实现安卓聊天系统(仿qq)

热门文章

  1. 系统迁移里踩过的一点小坑
  2. ANTLR中文手册二(ANTLR 是什么)
  3. 推荐5款Windows桌面效率工具
  4. linux系统端口的5种状态及含义
  5. 浅谈数字证书的今生前世
  6. rtx2060什么水平_RTX2060性能如何?NVIDIA新一代RTX2060显卡评测
  7. ValueError: Unknown activation function: ReLU
  8. 2017 iOS最新面试题汇总(二)
  9. 网络错误:windows无法访问\\,你没有权限访问\\
  10. [Excel]空白填充上一行数据