cuter

【原创】Linux学习规划

1
阅读(3262)

前言:

本来今晚打算动手做点东西,但是想了一下,不应该直接一头扎入细节,而应该首先为近期的学习制定一个目标和计划,使学习的脉络更加清晰,分享出来的东西也更具参考价值。

 

Linux的垂涎追溯到读书的时候,可惜一直停留在书本,没有正儿八经地做过开发,工作后才稍微接触一点开发,也没持续多久就离职了。基于ZynqLinux系统早在2014年初就已经移植成功,并为上家公司做了一些基于ubootLinux的开发,当时并没有及时的做记录,电脑上的各种环境现在也没了,还需要重新做一遍。以前还没有研究过的设备驱动开发,是近期的主要学习目标。

 

Linux学习规划如下,欢迎各种批评和建议。

 

学习目标:

Linux设备驱动开发入门

 

学习过程:

搭建基于ZynqLinux开发环境,为后续的驱动和应用程序开发做基础。大致浏览了网上的资料,Zynq Linux开发大致可分为以下几个步骤:

1、硬件:利用Vivado设计硬件,生成bitstream

2、软件:

a)        安装Linux操作系统,虚拟机或者直接安装

b)        安装交叉编译工具

c)        创建uboot.binFSBL.elfbitstreamuboot.elf

d)        编译Linux内核

e)        运行Linux

                ------------------------至此,Linux开发环境搭建完毕-------------------------

f)          驱动GPIOswitchled

g)        驱动oled

h)        PL中加入自主IP核,并为之编写驱动程序(进一步学习和修改dts文件)

 

至此,设备驱动可以先放一放,建立下一个学习目标:基于所开发的驱动进行应用程序开发。

 

学习笔记:

虽然网上已经有很多资料,手头也有DigilentGuideline,还是打算把每个步骤尽可能地记录到博客上,最重要的是记录学习过程中碰到的问题和解决方法,同时也是对自己生活的一种记录。

 

后续学习:

到时候再结合具体情况划分优先级。

 

1)应用程序开发学习

2)块设备驱动程序、应用程序开发学习

3)网络设备驱动程序、应用程序开发学习

4Linux系统裁剪、移植