首先是更新Up Board的BIOS,马上就有第一个坑:没办法按照官方的wiki找到对应的选项进行bios更新。这是由于我们进入的BIOS是用户模式,而想要进入管理员模式,就需要在进入BIOS的时候输入密码:upassw0rd,随后就可以进入选项进行更新。
第二个坑是下载最新的BIOS后,没办法进入UEFI Shell,经过查询后,需要先下载老的BIOS,拷贝里面的EFI文件夹,然后才可以进入UEFI Shell进行更新。
在之前的文章中,给Linux安装了rt内核,发现系统中只有一个spi设备,第二个设备没有出现。根据up board论坛中说法,需要在Linux的GRUB_CMDLINE_LINUX_DEFAULT的启动项中添加up_board.spidev1=1参数,随后运行sudo update-grub,重启开发板,就可以正常出现两个spi设备。
随后我就编写了简单的测试代码,发现无论如何都没办法进行第二个spi的正常通信,总会产生乱码。经过各种查询还有分析,初步判断是系统内核的问题,安装Ubuntu16.04后更新内核,结果测试程序就可以正常运行。按照这个内核版本,应该可以在Ubuntu18.04中安装。

PS:为了减小系统运行占用的资源,我选择的都是server版本的系统。

PPS: 经过后续测试,有可能问题并不是UP Board的内核问题,而是SPIne的转接板的程序问题导致SPI数据错乱