时隔接近两周,才写这篇文章,原因很多,主要是能力有限,实在调不好GPIO和串口等基本IO和外设。所以下面记录的内容更偏向于创龙本身提供的有限资料。
首先肯定是跑一下Linux系统,毕竟在Cortex-A9的芯片上,直接裸机调试不太……后面再说这段心酸史。TL437x提供了两种Linux内核,分别是普通内核和Linux-RT实时内核,版本都是Linux-4.9.65,支持设备树,并且提供了丰富的外设驱动,包括GPIO,LED,LCD,网口,485,还有Ethercat等。 GPIO的驱动基本上就是LED的,这是最基本的,还有用户按键控制,这点和其他的控制板基本相同。需要注意的是这里并不同提供单独的驱动程序,相应的驱动我是其提供的Linux内核中找到的,这就意味着可以用于商业开发的环境,同时也是比较专业的,毕竟我学Linux仅一年,还是看不太懂这个驱动的,写的很完善包括错误处理相关的内容,初学者误入(否则可能会产生不良反应~~~)。正常编译到内核中,启用后会在echo 0 >/sys/class/leds/user-led0/brightness这种应用类似,目前提供的资料库中Demo都是这种应用的,没有驱动相关的。这里就不给图演示了,由于我后面使用裸板调试,把MLO引导文件替换了,原来的引导Linux的也不太好找,可以按照手册重新编译U-boot获得,时间原因不再放图了。 Linux内核我这里以普通内核启为主进行测试,因为更换了内核后,可以正常通过U-boot进行引导,使用TFTP加载完内核,启动后无法加载网卡驱动,好像有问题,之后还要用网络传输一些应用程序运行,就换回了原内核。另外一个问题是,如果更换为我现在用的Linux-5.1的内核,DTS文件正常编译导入,内核用原内核配置文件,会导致无法生成configure文件,进而导致无法编译等问题,这点与市面上其他 开发板有所不同。这对更换内核是个很严峻的问题。 这篇文章写的过程中,我已经转入了裸板开发,希望在裸板下能够配置GPIO,调试LED等基本IO,毕竟好几年的ST经验,用 ti应该没这么困难。不过,,哎,使用TI的Startware也是辛酸泪,感觉没有ST配置来的那么直接,TI的过度封装导致跟底层的隔阂太大,入门难度直线上升,不友好。
|