之前一直想坚持写开发日记,但是都不成功,希望这次能够完成。
所有资料如下:
这里我是通过先将群里的资料保存到自己的网盘下,再进行下载,群里提供了《速盘SpeedPan+v1.3.4.78.7z》可以提高网盘的下载速度,但是不怎么稳定,后来无奈之下花费了30元开通超级会员下载,不要笑我,对于我们这种上班族来说,时间可是宝贵的,白天要开发,晚上还要加班,加班完后才能学习,一天最多2-3小时学习时间,可不能浪费在下载这里。
我们先从《iTOP-4412开发板视频教程及其相关》开始.里面有一个视频《迅为电子4412开发板视频总览_20160317》打开如下:只截图部分:
个人认为01 和02 是基础必须要认真掌握。
今天2019-07-15号,天气晴天,接着昨天的学习继续:
首先我们要搞清楚基础框架:
学习路线:
1.单片机 C语言
2.Linux基础框架(BootLoader、kernel、文件系统)
3.Linux应用程序编程
4.Linux字符类驱动程序
5.深入学习
基础知识:
1.bootloader
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
作用:初始化硬件环境,引导加载内核
2.Kernel
用于应用程序和底层硬件交互的一个底层软件
主要由以下组成:
定时器(timer)、
中断管理(interrupt management)、
内存管理(memory management)、
模块管理(module management)、
虚拟文件系统接口(VFS layer)、
文件系统(file system)、
设备驱动程序(device driver)、
进程间通信(inter-process communication)、
网络管理(network management)、
系统启动(system init)等操作系统功能的实现。
3.文件系统
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
这个暂时不是很理解,形象的来说和windows的文件管理器一样