全志A20裸机开发教程----环境搭建

全志A20裸机开发教程

前言

最近在学习嵌入式开发,跟着网上下载的视频做,结果发现最初的一步就卡住了。网上的视频用的都是三星的芯片,什么6410、210,而我图省钱买了个全志的开发板,乍一看资料还挺多,但对刚入门的新手很不友好。

我当时遇到一个问题,我的开发板要怎么跑裸机程序?需要把系统删了吗?6410/210的工具我能用吗?全志的资料搜遍网盘就那几样,都没有裸机开发相关的,无奈之下只能请教百度,经过几个晚上的研究终于跑上了第一个裸机程序。高兴!

现在分享一个手把手教程,只希望刚入坑的朋友少走弯路,毕竟我们的目的是学习嵌入式。
另外全志的开发板大部分过程应该都是相同的,使用其它型号的朋友也可以参考一下。

开发环境

目前主流的开发环境都是VMWare装Ubuntu,在虚拟机上编译,然后烧录到开发板。现在我再给大家介绍一种我自己在用,并且还挺方便的环境——WSL+烧录工具。
从Win10以后,windows就内置了linux子系统,打开速度非常快,用来做裸机开发足矣。

WSL安装配置

  1. 安装教程到处都是,直接放个链接 WSL安装教程
  2. 安装好后就是换源了,链接 Ubuntu18.04换源
  3. 然后安装gcc和arm-linux-gcc,注意是两种gcc,第一种编译的软件直接在电脑上运行,第二种编译的可以在开发板上运行。还是放链接 GCC安装 ,arm-linux-gcc安装。

    提示:可以在WSL中直接访问windows的磁盘,路径ls /mnt 你就懂了。也可以在windows下直接访问WSL的目录,路径:C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\root 或home 。记得创建快捷方式到桌面,以后要频繁访问。

  4. 然后就可以进行裸机开发了。再放个链接 OrangePi 点亮LED

裸机程序运行

就是这个鬼问题卡我几天,bin程序写好了,那么我该怎么运行呢?

  1. 先介绍下原理 A20启动过程浅析
  2. 将我们的bin程序烧录到SD卡

    刚开始被-Ttext和1中所介绍的烧录到8k处搞懵了,其实两者不是同一个东西。

WSL虽然有dd命令,但并不能dd到U盘,windows下也没找到合适的工具,所以自己写了一个 SDCardWriter ,配置如下:
全志A20裸机开发教程----环境搭建_第1张图片
烧录好后,插入TF卡,上电应该就能看到效果了。

总结

总结一下关键点

  1. 编译时,一定要加lds文件,保证从汇编开始启动
  2. -Ttext 在全志芯片上设为0即可。210的芯片tf卡启动需要设置为其他值
  3. arm-linux-objcopy编译出的bin文件还需用 mksunxiboot 加一个校验头。
  4. 烧录的时候需要从tf卡8k处开始

你可能感兴趣的:(嵌入式,linux)