S5P4418开发遇到的问题

1) 经过多方确认,S5P4418不是由三星设计的,应该是由韩国Nexell设计的,很多地方都不是三星的风格,CPU上还印有Nexell的标志,很有可能是三星转让了ARM A9授权给了Nexell,不能一个方案提供商有那么大能耐让三星在CPU上面别的公司的名字

S5P4418开发遇到的问题_第1张图片




2) GPIO使用有问题

S5P4418不像三星的其他CPU,GPIO功能00为输入,GPIO功能01为输出,GPIO功能10和11为片内模块IO

需要查看S5P4418 Datasheet,第2.3节 I/O Function Description,根据对应的引脚功能进行设置(很挫的设计)

驱动程序中使用NX_GPIO_PADFUNC_0、NX_GPIO_PADFUNC_1、NX_GPIO_PADFUNC_2、NX_GPIO_PADFUNC_3这三个宏

可能某个引脚输入功能是NX_GPIO_PADFUNC_2,而输出功能是NX_GPIO_PADFUNC_1

很挫很挫很挫的设计,说三遍




3) 保留内存问题

Nexell提供的Kernel,有大概200MB的内存是预留给ion使用,启动后可用内存大概是800MB

device.c中nxp_reserve_mem函数用于设定参数,参数可通过make menuconfig修改,路径为

S5P4418开发遇到的问题_第2张图片




4) 摄像头的使用

Nexell封装了v4l2,提供了一个c++库,虽然这个库设计的很挫,但至少还能用




5) 库和Demo程序

Nexell提供了很多库和Demo,路径是android源码下的linux目录,有一个platform,里面的s5p4418,里面有很多Nexell的资源,apps里面是一些demo,Solution是一些整体的解决方案,里面DVR、IPC方案等等

有些开发板厂商提供的源码没有platform这个目录,很有可能他们为了赚钱,删掉了




6) 硬件看门狗

由于PCLK的频率是200MHz,看门狗模块最大分频是256 * 128,为6103Hz,WTDAT只能使用16位,最大只能填入65535,这样一来,最长10.8秒不喂狗,就会复位

最坑爹的是WTCON的中断使能一定要打开,不打开超时不会复位




(完,暂时想到这些,已经开始使用其他平台,暂时放弃此平台)

你可能感兴趣的:(S5P4418)