192.168.1.200 255.255.255.0 192.168.1.1 点击保存.关闭窗口.再打开图标选中wired connection1 再看ip是否改回来了.
5.网线连接开发板和电脑
在putty界面输入:ping 192.168.1.200
如果host 192.168.1.200 is alive,这是挂载系统很好的征兆. not alive的话需要关闭电脑的无线网
输入boot或者重启开发板不要再按下任何键了,如果出现##################很快就要挂载成功了 如果出现TTTTTTTTTTTTTT
在ubuntu输入命令:sudo service tftpd-hpa restart
其中sudo的作用是暂时将用户的权限提升到超级用户(root)的权限.
如果出现Please press Enter to activate this console.代表系统挂载成功.
通过gcc编译生成的程序不能在开发板上运行.
通过命令file a.out看到文件的格式为intel 30386,说明这是X86格式的程序,只能PC上运行
而不能在arm板上运行,解决措施,使用交叉编译器来编译.
交叉编译器的配置:
将arm-cortex_a8-linux-gnueabi.tar.bz2拖到ubuntu的家目录
解压命令tar -xvf arm-cor+tab键自动补齐,用ls查看是否生成arm-cortex_a8个目录.
配置交叉编译器:
sudo vi /etc/bash.bashrc文件
在最后一行添加export PATH=$PATH:/home/linux/arm-cortex_a8/bin 保存并退出文件
保存完成后重启文件:source /etc/bash.bashrc
重启成功后输入arm-cor+tab键会自动补齐成arm-cortex_a8-linux-gnueabi-代表交叉编译器配置成功.
利用交叉编译器编译程序:
arm-cortex_a8-linux-gnueabi-gcc 文件名,并将生成的可执行程序拷贝
第11页 共17页
到/source/rootfs下
然后再到putty上执行./a.out就可以在开发板上运行程序了.
相关代码
Che.c
#include \#include
void zigbee_serial_init(int fd) {
struct termios options;
tcgetattr(fd, &options);
options.c_cflag |= (CLOCAL | CREAD); options.c_cflag &= ~CSIZE; options.c_cflag &= ~CRTSCTS; options.c_cflag |= CS8; options.c_cflag &= ~CSTOPB; options.c_iflag |= IGNPAR;
options.c_iflag &= ~(BRKINT | INPCK | ISTRIP | ICRNL | IXON);
//options.c_cc[VTIME] = 2; options.c_cc[VMIN] = 12;
第12页 共17页
options.c_oflag = 0; options.c_lflag = 0;
cfsetispeed(&options, B115200); cfsetospeed(&options, B115200);
tcsetattr(fd,TCSANOW,&options); }
int cgiMain() {
int fd; char a='1';
cgiHeaderContentType(\ fprintf(cgiOut,\ fprintf(cgiOut,\ fprintf(cgiOut,\http-equiv=\\\content=\\\
fprintf(cgiOut,\ fprintf(cgiOut,\ fprintf(cgiOut,\ fprintf(cgiOut,\http-equiv=\\\content=\\\ fprintf(cgiOut,\ fprintf(cgiOut,\
fprintf(cgiOut,\ fprintf(cgiOut,\ fprintf(cgiOut,\action=\\\method=\\\
fprintf(cgiOut,\前进\\\
fprintf(cgiOut,\type=\\\name=\\\value=\\\左转\\\
fprintf(cgiOut,\
fprintf(cgiOut,\type=\\\name=\\\value=\\\停止\\\
fprintf(cgiOut,\
第13页 共17页
fprintf(cgiOut,\右转\\\
fprintf(cgiOut,\type=\\\name=\\\value=\\\后退\\\
fprintf(cgiOut,\
fd=open(\ if(-1==fd)
fprintf(cgiOut,\ zigbee_serial_init(fd);
if(cgiFormSuccess==cgiFormSubmitClicked(\ {
a='2';
write(fd,&a,1); }
if(cgiFormSuccess==cgiFormSubmitClicked(\ {
a='1';
write(fd,&a,1); }
if(cgiFormSuccess==cgiFormSubmitClicked(\ {
a='4';
write(fd,&a,1); }
if(cgiFormSuccess==cgiFormSubmitClicked(\ {
a='3';
write(fd,&a,1); }
if(cgiFormSuccess==cgiFormSubmitClicked(\ {
a='0';
write(fd,&a,1); }
fprintf(cgiOut,\
第14页 共17页
fprintf(cgiOut,\ close(fd); return 0; }
Test.c
#include
#include
int main(int argc, const char *argv[]) {
int fd;
char buff[20]={0};
fd=open(\ if(-1==fd) {
printf(\ return -1; }
while(1) {
read(fd,buff,sizeof(buff)); }
return 0; }
单片机代码
void setup() {
pinMode(2,OUTPUT);
第15页 共17页