goke开发杂记

来源:互联网 发布:成都网络棋牌公司 编辑:程序博客网 时间:2024/05/18 01:13

1.sensor

即摄像头传感器,goke demo板使用的是imx222,故执行demo时的指令为:
run_app.sh --sensor imx222

我们使用别的sensor

run_app.sh --sensor xxxxxxx


2.库文件未加载:


在 $SDK_TOP 执行 make rootfs-list 查看库文件信息

目前 ctlserver 需要依赖 freetype-2.4.11zlib-1.2.7libstdc++3 个开源库,因此需要我们在
software 目录下手动添加这 3 个库到 rootfs 中,操作如下:
$make add-freetype-2.4.11
$make add-zlib-1.2.7
$make add-libstdc++


so库文件添加到目录:/opt/goke/rootfs_uClibc/usr/lib/


3.驱动文件未加载:


make deploy-rootfs只是install最小文件系统 , 其余的还要执行make

在subsystem下make是将.sh .xml等配置文件安装到/goke/rootfs_uClibc系统里。
在linux/kernel/drv下执行make是将驱动安装到/goke/rootfs_uClibc系统里。
在application下执行make是将执行文件安装到/goke/rootfs_uClibc系统里。

/usr/local/bin/init.sh文件,需要两次在SDK根目录下执行make,才能生成


4.网卡未能正常加载,但在uboot里可以进行tftp烧写文件


芯片里有网络phy,如果不用,在外面用一个phy芯片也行

phytype=0  //使用内部phy
phytype=1  //使用外部phy



5.gk7101支持1080P图像输出,而gk7102支持720P图像输出。gk7102内存不够输出1080P图像,故在做配置时,注意3条:

1)gk7101: DDR_MEMORY_1G、mem=46m、 set soctype 0

2)gk7102: DDR_MEMORY_512M、mem=36m、 set soctype 1


 内核里是通过uboot的soctype变量来获知是7101还是7102(uboot代码里添加的,命令行里可以修改)



内核中板子的配置一样,因为只有选择了GK7101,才会出现GK7101 RB board V1.00

u-boot.bin加头时,注意选择gk710X:(型号是为了区分不同的DDR配置值)


 


c1000000是uboot下载程序到内存的地址

c0800000是芯片的bootrom将uboot拷贝到内存的地址

c0800000也是uboot的链接地址,是uboot的运行地址


 问:从gk7101到gk7102,SDK编译,是不是都要改一下?内核配置、文件配置都要改吗?
  
答:不用,那个已经不分了。加头是因为128MB内存的配置和64MB内存的配置不一样,所以加头的时候要选择(DDR_MEMORY_512M还是要修改的)



6.文件系统配置:


 你uboot的启动命令是run sfboot,  sfboot中有设置bootargs  ,设置的rootfstype是ubifs:

 set rootfstype 'root=/dev/mtdblock3 rootfstype=jffs2'
修改了这个之后,就可以了

内核配置,支持某文件系统:





7.配置SDK、make deploy、make SDK顺序颠倒导致出错


正常顺序:
a.修改Config.mak 
b.make deploy
c.source env/build_env.sh
d.配置内核
e.在sdk_top/boot/u-boot/下执行make gk7101_config
f.在sdk_top下执行make,整体编译



8.改板:sensor型号、GPIO引脚

串口没有信息,原因只有两种:1.芯片没正常工作;2.u-boot.bin里的gpio配置不对。


uboot里唯一需要改的就是gpio,你的串口gpio如果是25,26的话,就应该有打印


#define SYSTEM_GPIO_IR_CUT1         GPIO_20
#define SYSTEM_GPIO_IR_CUT2         GPIO_23

#define SYSTEM_GPIO_IR_CUT1         GPIO_23
#define SYSTEM_GPIO_IR_CUT2         GPIO_20
这个两种方式的区别是控制马达的正转还是反转


SYSTEM_GPIO_PHY_SPEED_LED 这个目前表示的是网络的链接,有数据传输的时候回闪烁

SYSTEM_GPIO_SENSOR_RESET //镜头reset引脚
SYSTEM_GPIO_PHY_RESET  //GOKE7101芯片reset引脚
SYSTEM_GPIO_SD_DETECT  //SD卡检测引脚

SYSTEM_GPIO_SPI0_EN0 //SPI0模块的使能,你们没有使用


SYSTEM_GPIO_INTPHY_TABLE 没有用,可以删掉,对应使用内部phy,只需要设置对应的gpio为SYSTEM_GPIO_PHY_CLK就可以了


#define SYSTEM_GPIO_EXTPHY_TABLE                          \
    { GPIO_48, GPIO_TYPE_INPUT_0     /*ETH CLK*/      }


#define SYSTEM_GPIO_INTPHY_TABLE                          \
    { GPIO_48, SYSTEM_GPIO_PHY_CLK     /*ETH CLK*/      }


关于软件修改gpio,可以参考另一文档:

http://blog.csdn.net/zhancj/article/details/50721497


9.查看系统状态:




10.gadi_sys_init() error:


 先要加载驱动
init.sh
在run_app.sh里,有执行 init.sh








0 0
原创粉丝点击