我成功在Linux Ubuntu下使用GCC和CC-Tool开发BPI G1 CC2530运行6LoWPAN,分享一下经验。^ . ^
按照以下步骤,可以运行instant contiki的例子 cc2530dk在BPI G1 CC2530 上,并输出串口信息。
1.到sourceforge下载Instant Contiki-2.7系统镜像文件。
2.到sourceforge下载cc-tool源码文件
3.用VMware装载Instant Contiki系统,选择”我移动了它“即可,进入Ubuntu后,选择用户名为 Instant Contiki , 密码是 “user”。
4.编译CC-Tool源文件
4.1.配合BPI OpenDebbuger使用时,需要修改cc-tool的一个问题,否则不能检测目标板。
修改一个地方,删除一行,增加一行
src/programmer/cc_programmer.cpp
@@ -278,7 +278,7 @@ void CC_Programmer::enter_debug_mode()
memcpy(&command[0x15], programmer_info_.debugger_id.c_str(), programmer_info_.debugger_id.size());
usb_device_.control_write(LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_ENDPOINT_OUT,
- USB_SET_CHIP_INFO, 1, 1, &command[0], command.size());
+ USB_SET_CHIP_INFO, 1, 0, &command[0], command.size());
}
//==============================================================================
4.2.执行以下命令
user@instant-contiki:~$ cd cc-tool/
user@instant-contiki:~/cc-tool$ ./configure
user@instant-contiki:~/cc-tool$ make
user@instant-contiki:~/cc-tool$ sudo make install
4.3.现在,需要安装一些USB库文件
sudo apt-get install libusb-1.0
sudo apt-get install libboost-all-dev
5.安装MINICOM
sudo apt-get install minicom
6.使系统能够识别BPI OpenDebugger的UART接口
调试接口由FTDI FT2232芯片定制供应商和产品ID的提供。要使它成为Linux系统访问,需要udev规则文件:/etc/udev/rules.d/99-tiftdi.rules
ATTRS{idProduct}=="c32a", ATTRS{idVendor}=="0451", RUN+="echo 0451 c32a > /sys/bus/usb-serial/drivers/ftdi_sio/new_id", MODE="666", GROUP="plugdev"
然后加载驱动
user@instant-contiki:~/cc-tool$ sudo modprobe ftdi-sio
user@instant-contiki:~/cc-tool$ sudo echo 0451 c32a > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
当FTDI-SIO模块加载(上述udev规则或以其他方式),将得到两个的/dev/ttyUSBx设备节点。
7.编译contiki-2.7例子cc2530dk
user@instant-contiki:~$ cd contiki-2.7/examples/cc2530dk/
user@instant-contiki:~/contiki-2.7/examples/cc2530dk$ make blink-hello
编译完成以后,就可以看到烧写文件blink-hello.hex
8.使用BPI OpenDebuggger烧写文件blink-hello.hex到BPI G1 cc2530中
8.1.使BPI G1 CC2530编程接口连接到BPI Open Debugger的CC Debbuger接口
8.2.使BPI G1 CC2530串口连接BPI Open Debugger的串口
8.3.使用以下命令检查是否连接正常
user@instant-contiki:~/contiki-2.7/examples/cc2530dk$ sudo cc-tool -t
8.4.烧写文件blink-hello.hex到BPI G1
user@instant-contiki:~/contiki-2.7/examples/cc2530dk$ sudo cc-tool -v -e -w blink-hello.hex
8.5.最后, 复位G1 CC2530并且用MINICOM打开串口
user@instant-contiki:~/contiki-2.7/examples/cc2530dk$ sudo minicom -D /dev/ttyUSB1
user@instant-contiki:~$ sudo cc-tool --reset