搭建8622L平台

来自IPTV爱好者
跳转至: 导航搜索

==搭建8622L平台==

 硬件连接:
 1. 连接电源
 2. 连接网线
 3. debug板上的com1(右侧)连接上串口线,用于PC上的tera term(windows平台)或minicom(linux平台)和8622L通信.
 软件:
 1. armutils_2.5.129.0.tgz(uClinux,包括编译器)
  2. mrua_EM8622L_2.7.133.0.arm.tar.gz( RM8620L的开发包,包含有driver和rua api及dcc api,应用程序)
 3. bootloader (针对单板)


 系统完成后的网络架构:
 1. 8620L平台,其并行flash已经被烧入uClinux系统,并有IP地址.
 2. Windows客户机,使用tera term通过串口,把kernel烧到并行flash上,用命令boot rom启动uClinux并且登陆.
 3. Linux服务器,主要作用是编译软件,有nfs服务,nfs服务目录是/share/nfsshare,文件包括有8620L的驱动程序,应用程序和音视频文件,可以被8622L使用. 
 系统搭建过程:
 1. 在Linux服务器上编译compiler,kernel和文件系统
    1). mkdir 8622L
   2). cp armutils_2.5.129.0.tgz /8622L/
   3). tar xzvf armutils_2.5.129.0.tgz
   4). cd /8622L/armutils_2.5.129.0
   5). make 可以看到操作流程的帮助
   6). make config 设置IP地址,mask,母板类型和版本
   7). make download光盘中的开发包已经做了,勿需再做
   8). make toolchain(生成编译器)
   9). make linux-config 可以修改uClinux的配置
   10). make linux 生成kernel-2.4.22-config-envision8622L-romfs-rom.bin,这是uClinux的内核.
   11). make rootfs 生成rootfs-config-envision-EM8622L-romfs.ext2,这是创建root文件系统
   12). make romfs 生成romfs-config-envision8622L-romfs-rom.bin.gz,这是创建rom文件系统
 2. 在Linux服务器上编译8622L驱动程序和应用程序
   1). cd /8622L/armutils_2.5.129.0
   2). source path.sh
   3). source kernelpath.sh
   4). cp mrua_EM8622L_2.7.133.0.arm.tar.gz /8622L/
   5). cd /8622L
   6). tar xzvf mrua_EM8622L_2.7.133.0.arm.tar.gz
   7). cd /8622L/mrua_EM8622L_2.7.133.0.arm/
   8). make 
   9). Do you want to use XIP (eXecution In Place) for your applications? [N/y]
   输入n
   10). source MRUA.env
   11). make kernel 生成目录/8622L/mrua_EM8622L_2.7.133.0.arm/modules/uclinux-arm , 内有llad.o,em8xxx.o
   12). make apps 在/8622L/mrua_EM8622L_2.7.133.0.arm/bin下生成播放例程


 3. 把kernel和romfs烧入8622L的flash
 方法一:LINUX环境:
 1). minicom –o connectslow
 a). 按键Ctrl-A,O,可以进行配置
 b). serial port setup中,使A--serial device设置为/dev/ttyS0,使E--BPS设置为38400 8N1
 c). save setup as 设置文件名为connectslow
 d). Ctrl-A,X存盘退出
 2). 再运行minicom –o connectslow
 3). 启动单板,minicom接收到信息后进入到Boot命令行
 4). Boot> download serial romfs gz 准备接受文件
 5). 打开另外一个终端
 6). cd /8622L/armutils_2.5.129.0/bin/
 7). sudo uuencode romfs-config-envision8622L-romfs-rom.bin.gz x > /dev/ttyS0 发送文件到minicom
 8). 你会看到minicom在下载文件
 9). boot> flash list
 10). Boot> flash romfs,把文件烧到flash中
 11). Boot> boot rom 启动uClinux
 12). 得到提示符#
 方法二:WINDOWS环境:
 1). cd /8622L/armutils_2.5.129.0/bin
 2). uuencode romfs-config-envision8622L-romfs-rom.bin.gz x > romfs-config-envision8622L-romfs-rom.bin.gz.uuencode
 生成uuencode编码的文件,用于在windows环境下焼入flash
 3). 8622L启动后,在tera term出现boot>
 4). 运行config serial fast,然后选菜单setup-->serial port,设置baud rate为115200
 5). Boot>download serial romfs gz,准备接受文件
 6). 选菜单file-->send file,选中romfs-config-envision8622L-romfs-rom.bin.gz.uuencode,确定后,你会看到tera term下载文件
 7). Boot> flash romfs,把文件烧到flash中
 8). 把baud rate恢复为38400
 9). Boot> boot rom 启动uClinux
 10). 得到提示符#
 通过并行flash烧写sflash时,并行flash要使能sflash及sst的驱动,编译的sflash的bin文件不能太大,需要裁减掉network和pcihost
 4. 在linux server上配置nfs服务,nfs服务目录是/share/nfsshare.
 1). 修改/etc/exports文件,增加内容如下:
 /share/nfsshare 192.168.1.0/255.255.255.0(rw)
 2). 运行setup命令,将nfs服务设置成开机后自动启动
 选中system services--->nfs后保存退出
 5. 把Linux服务器上/8622L/mrua_EM8622L_2.7.133.0.arm/bin/目录下的play_*应用程序, /8622L/mrua_EM8622L_2.7.133.0.arm/modules/uclinux-arm 下llad.o
 和em8xxx.o,复制到Linux服务器/share/nfsshare目录下,然后复制一些音视频文件.
 6. 登陆8622L并操作
 1). Windows客户机,使用tera term通过串口,用命令boot rom启动uClinux并且登陆.
 2). mkdir tmp/nfs
 3). mount -o nolock 192.168.1.34:/share/nfsshare tmp/nfs 
 4). cd /tmp/nfs
 5). insmod llad.o
 6). insmod em8xxx.o
 7). ./play_asf -9 xxx.wmv 播放视频
 8). ./play_jpeg xxx.jpg 显示jpg图片
 7. 测试osd(32位 framebuffer 可参考mrua_EM8622L_2.7.133.0.arm/MRUA_src/mambolfb/README.mambolfb)
 1). ./osdbuf_control -c
 Get the parameters to insert the mambolfb module
 2). insmod mambolfb.o videomemory=0x100000ec videomemorysize=1228800 palette=0x79000 mode=640:480:32
 加载osd frame buffer驱动
 3). ./fb_test /dev/fb/0
 测试OSD,TV屏幕上会出现一个圆环.
 8. 红外线遥控器的使用.
 参考ir.rar
 9. 网络升级bin
 进入loader文件夹
 1). make CONFIG=config-HM生成loader-flash.bin
 2). uuencode loader-flash.bin x>loader-flash.bin.uuencode 
 3). Tera term终端: boot> download serial boot(无论并行或串行flash启动,都可以烧loader,烧loader时不用跳线)
 4). 选菜单file-->send file,选中loader-flash.bin.uuencode,确定后,你会看到tera term下载文件
 5). 重起
 还可以在boot下网络升级loader,
 0). host端 /service dhcpd start
 1). cp loader-flash.bin /tftpboot/loader.bin
 2). Tera term终端: boot>download net boot
 3). flash boot
 4). 重起
 网络升级romfs.bin
 0). host端 /service dhcpd start
 1). cp romfs.bin /tftpboot/
 2). Tera term终端: boot>download net romfs
 3). flash romfs
 4). boot romfs 或重起