8626m3调试过程
1.板子回来后连接ao uart调试口后出现乱码问题,进研究发现是串口电平转换的问题,加一个电平转换板此问题就解决了。
2.amlogic m3芯片会按顺序选择启动设备,当裸板时要想写系统到nandflash中就要从tf卡启动了。做可启动tf卡的方法是:
卡分区:
1)使用fdisk工具进行分区,我们需要分两个分区,同时预留一部分放置uboot,可以理解为分3个分区
– 我们需要进入linux系统,用fdisk工具进行操作
– 先用fdisk工具将卡里原有的分区删除
用fdisk工具对卡重新分区,注意第一个分区最好不要从第一个sector开始,预留一部分空间用来放置uboot
$ sudo fdisk -l //查看卡分区列表
$ sudo fdisk /dev/<your sdcard,for example sdd> //进入卡区
Command (m for help): p //显示此行时选择 P 可再次查看卡分区列表
Command (m for help): d //删除当前卡分区
Command (m for help): n //创建卡新分区
Command (m for help): t //更改卡分区系统格式
Command (m for help): w //更改卡分区系统格式
$ sudo mkfs.msdos /dev/sdd1 //格式化卡分区fat32
$ sudo mkfs.ext3 /dev/sdd2 //格式化卡分区linux
2)拷贝U-BOOT到卡第一分区
首先指定.bin文档路径
sudo dd if=./u-boot-aml-ucl.bin of=/dev/sdf bs=1 count=442
sudo dd if=./u-boot-aml-ucl.bin of=/dev/sdf bs=512 skip=01 seek=1
注意:由于分区表位于446开始处总共占用64个字节所以上面的两条dd命令不会影响到tf卡的分区。
3)将编译生成的文件uImage uImage_recovery f04ref-ota-eng.leo.zip放入fat32分区
3.通过上一步就完成了一个可启动的tf卡,插入tf卡然后启动板子,进入uboot的命令行模式,通过一下两条命令启动到recovery模式
fatload mmc 0 82000000 uImage_recovery
bootm
然后选择f04ref-ota-eng.leo.zip进行recovery升级就完成了系统的刷入。
8626mx调试过程
1.amlogic 8726mx裸板运行是有一行输出从调试串口出来的,可以根据此信息来确定cpu是否启动,如没有输出有可能是cpu没跑起来,或者是串口有问题。不过一般串口有问题的话一般会是乱码,所以cpu没跑起来的可能性最大。
2.mx的启动过程是首先从spi nor flash启动uboot,如果没有就从sd卡启动。nandflash中不烧录uboot。
3.uboot编译会生成很多.bin文件,默认使用u-boot.bin就ok了。
4.调一个平台时,首先要确认芯片自己会不会输出信息到串口。
5.使用USB转串口工具,注意是TTL电平的UART还是232电平的UART的工具。arm和单片机一般是TTL电平的,另外TTL电平有3.3V和5V之分,如果串口有问题时可考虑这点。同时如果工具不行(理论上不会),可尝试换使用其他厂商芯片的串口工具。
6.http://blog.youkuaiyun.com/raining_heart/article/details/8504536
7.烧录系统不成功的原因是init.rc文件权限的问题。尝试修改文件权限或改代码解决此问题
8.烧完进不了系统的原因是mali和ump模块的驱动没加载上。
9.编译8192cu.ko wifi驱动时提示符号没定义xxx[xxx]undefined! 主要原因是因为编译源码是用的是recovery的配置文件,所以导致没找到的符号根本没有定义。
10.wifi不通是因为硬件的问题导致power_en不对
11.如何支持遥控器remote.conf?
文件中factory code和映射表
12.cpu的频率调节在common/customer/boards/board-m6g02.c下vcck_pdata中有电压和频率的对应表。在init.rc中据说有在初始化时调cpu频率的方法
13.amlogic mx如何调节寄存器的值?
#define CLEAR_CBUS_REG_MASK(reg, mask) WRITE_CBUS_REG(reg, (READ_CBUS_REG(reg)&(~(mask))))
#define SET_CBUS_REG_MASK(reg, mask) WRITE_CBUS_REG(reg, (READ_CBUS_REG(reg)|(mask)))
硬件设计心得:
1.做硬件打板的时候,第一版尽量少贴器件和芯片,能手焊的就不贴,这样板子简单排除问题方便,调试时调那块就把那块手焊上。
2.对led灯的应用,在尽可能多的地方放置指示led灯,调试时方便。led灯其实就相当于软件的打印调试方法。