新手开箱后先过一遍操作流程
本帖最后由 ahau 于 2016-6-26 15:54 编辑环境:
开发板:智龙V2.1
宿主机: win7 64位
虚拟机:Virtualbox5.0 注意,如果你的c:\windows\system32\uxtheme.dll被破解过,virtualbox用不了,换成VMWare即可。或者装msdn原版的win7。不要用winpe装操作系统,会给你的系统注入很多软件。 虚拟机安装一下工具,可以双向拖拽文件,设置剪贴板双向共享
客户机:ubuntu12.04 32位 桌面版
操作:
1.建立交叉编译环境,请仔细阅读 1C开发板用户手册V1.3.pdf。“4.3 建立交叉编译环境”。建议把编译工具添加到系统环境变量里,一劳永逸
2.编写并编译hello.c。 参考V1.3手册 7.1节 “Hello World”。如果vi不熟悉,可以先用系统自带的文本编辑器编辑。 最后还是建议安装vim替代系统自带的vi。
3. 关闭防火墙
4.准备好软件。智龙V2.0的使用手册.zip里已经给出了SecureCRT和tftp这两款软件。 我的tftp是从网上下载的 64位免安装版
5.接线。智龙V2.1里已经烧好了PMON,linux内核,文件系统和led流水灯的程序。上电就能看到效果。 这是V2.0的手册里的接线步骤
这里再补充一下USB转串口线子接法:
红色不用接,白色接tx2,绿色接rx2,黑色接gnd
注意:步骤3,4, 5 在V2.0手册的开头已经有叙述,请仔细阅读,这里补充说一下小白本人的一点经验。
插好USB转串口的时候,右下角会有提示安装程序。如果没有装好,请用驱动精灵之类的软件检查你的驱动是否正常。我的之前没有串口驱动,所以一直不能安装成功。
装好了,会出现上图中的东西。
线子接好了,上电后等待几秒会看到流水灯在跑了
最好一拿到板子就上电看看,板子有没有问题。
6.烧写hello程序。
1)将虚拟机里编译好的hello文件拖出来,放在tftp的安装目录里。
2)打开SecureCRT,并设置相关参数,请参考2.0手册的开头部分。
3)打开tftp
4)上电
5)参考2.0手册里的“2.2 基于linux 的基础实验”,注意此时不需要进入PMON。如果进入PMON,命令不一样。为了省事这里就不进入PMON了。
输入 ifconfig eth0 up
ifconfig eth0 192.168.0.99 // 跟主机在同一个网段的ip
tftp -r hello -g 192.168.0.100 // 我的主机ip
chmod u+x hello
./hello
成功了。如果不相信可以把输出的东西改成 Hello, world666。再来一次。
进入PMON的方法:
上电后,会发现按任意键进入不了PMON。这个时候按住 空格键 不放, 然后按一下板子上的 RESET键,立刻进入PMON。
感谢简单平安同学耐心指导。
板子已经烧写好PMON了。这里练习一下烧写内核和文件系统的操作步骤。最后再尝试烧写PMON。
命令按照V2.0手册上的说明,这里补充说一条命令。就是第一条命令,如果不给PMON设置地址的话,在烧写vmlinuz的时候会报
“tftp: sendto: No route to host”的错误。
PMON> ifaddr syn0 192.168.0.99// 2.0手册虽然没有提,1.3的手册有详细说明,关键的一步
bootp=8000b874
PMON> ping 192.168.0.100// ping 2-3秒,ctrl+c中断,如果最后是0% packet loss 就说明ping通了
PING 192.168.0.100 (192.168.0.100): 56 data bytes
64 bytes from 192.168.0.100: icmp_seq=0 ttl=64 time=1.419 ms
64 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=0.508 ms
--- 192.168.0.100 ping statistics ---
27 packets transmitted, 27 packets received, 0% packet loss
round-trip min/avg/max = 0.369/0.500/1.419 ms
PMON>break! // 这个break是拷贝SecureCRT里的内容时按ctrl+c造成的
PMON> mtd_erase /dev/mtd1
mtd_erase working:
0x07200000
mtd_erase work done!
PMON> devcp tftp://192.168.0.100/vmlinuz /dev/mtd0
2173480PMON>
PMON> set al /dev/mtd0
PMON> devcp tftp://192.168.0.100/nfsyaffs-uart2-null.img /dev/mtd1 yaf nw
7434240PMON> set append " root=/dev/mtdblock1"
PMON> set append " $append console=ttyS2,115200"
PMON> set append " $append noinitrd init=/linuxrc rw rootfstype=yaffs2"
PMON> set append " $append video=lslbfb:480x272-16@60 fbcon=rotate:1 consoleblank=0"
PMON> reboot
yaffs: dev is 32505857 name is "mtdblock1" rw
yaffs: passed flags ""
VFS: Mounted root (yaffs2 filesystem) on device 31:1.
devtmpfs: mounted
Freeing unused kernel memory: 200k freed
#mount all.....
#Starting mdev.....
Processing /etc/profile.....
Done!
#
至此内核和文件系统烧录成功。
按照上一楼的方法,再次写入hello。可以看到程序是可以跑起来的
前面已经烧写内核和文件系统了,现在练习一下烧写PMON。
PMON> ifaddr syn0 192.168.0.99
bootp=8000b874
PMON> load -r -f bfc00000 tftp://192.168.0.100/gzrom.bin
Loading file: tftp://192.168.0.100/gzrom.bin (bin)
|
Loaded 270352 bytes
Programming flash 80200000:42010 into bfc00000
byte write winb25x40
Verifying FLASH. No Errors found.
按reset键,重启系统 这个时候会卡在Entry address is 806a1320这个地方, 按住空格键,按一下reset键,再次进入PMON
按照二楼的步骤再次烧写内核和文件系统
按照一楼的步骤烧写ledtest
运行ledtest,如果直接./ledtest会打印很多信息,可以后台运行,输入 nohup /ledtest &
可以看到流水灯开始跑了。
整理的非常详细清晰
对新手们来说很有用:victory::victory: 恭喜恭喜:lol 很专业化嘛~
页:
[1]