历时一个半月的时间,目前已经按照https://docs.phytec.com/projects/yocto-phycore-am62x/en/bsp-yocto-ampliphy-am62x-pd23.2.1/quickstart/index.html手册完成了所有操作,从最初的# Quickstart到最后的# Pre-Built Binaries。根据这段时间的学习经历做一个阶段性的小结。
刚拿到板子的时候有些不知所措,因为只有一个手册连接,没有更多的资料。不像做嵌入式时候会有例程包、手册文档等资料。于是开始自己找资料,学习。在这个过程中虽然收获颇丰,但是对核心板的学习帮助并不大。在搜集资料的过程中我发现,不能像学单片机一样去处理核心板。单片机学习中因为基本使用厂家提供的库,因此各个教程尤其共通之处。但是核心板各家处理方式确实是有差异的。
初看这应该不是问题,但事实是有很大问题。我前面的帖子有提到过因为最初安装的是18.04导致有些插件安装不上,找了很久的解决办法最终也没有完全解决。后来重装系统更换成手册中给的20.04,一条指令所有插件自动安装完成。对于像我这种对Linux系统操作不是很熟练的同学,再次建议安装手册或者教程中给的Ubuntu版本,真的可以避免很多不必要的麻烦。
通过对比三家的教程资料,发现使用的SD卡烧录工具并不一致。手册中给出的SD卡烧录方法有三种:balenaEtcher、bmaptool以及 dd。我在使用bmaptool烧写SD卡的时候遇到些问题,没有成功,通过使用balenaEtcher很轻松烧写成功。但是在其它教程中有看到使用imxdownload(这个名字可能是自己命名的)。在最初调试的时候我一度以为这是一个标准的工具,其它芯片也是通过这个软件或者指令烧写的。因此曾一度在手册中,官方给出的资料中找与imxdownload相关的信息,必然是找不到的。
这个应该是芯片不同、厂家不同编译链会有差别吧(粗鄙的理解,没有求证)。因此使用AM64x的编译链去处理AM62x核心板,必然也是不能成功的。更何况厂家也不同。
在自己一些的作型操作后,发现除了点亮了核心板,并成功通过调试串口关闭核心板,别的什么都没做,依然是一头雾水。此时才意识到太自以为是了。错误的估计了自己的能力与核心板学习的难度。于是决心回过头来从Quickstart开始,按照手册一条条指令,一个个功能过一遍。这过程中不可避免的也是遇到了很多的问题,但是这个过程中手册一直是向下滚动的,每一项功能的完成都对我认识学习Linux系统有很大的帮助,逐步的有了:啊,原来是这个样子,原来是这么个意思的认识与理解。
直到完成helloworld和blink例程的编写演示,没有惊喜与喜悦,只有终于走到这一步的感慨。
预期4周搞定核心板的入门工作,结果因为自己的先入为主与自以为是多花了2周的时间才搞定。深刻的认识经验主义的可怕与首先研读手册的重要性。
这过程中PHYTEC技术人员也是给了我很多帮助,帮我解决了很多问题,也很是耐心。在此表示感谢,同时希望未来一如既往的提供支持,以后肯定会有更多的叨扰之处,还望见谅~
后续的工作就是将模拟量采样、数字量输入输出、Ethernet通讯以及串口通讯等功能加以整合。后续任务还是比较重的,计划先从通过串口控制LED灯入手,将这个流程走通,然后陆续增加功能。需要加快进度了。
更多回帖