嵌入式Linux开发流程:

1、搭建前期开发环境,如搭建Linux宿主环境、安装交叉编译器、以及一些常用的开发辅助软件如source insight等;

2、学会直接操作硬件。这个跟单片机的操作类似,需要我们查看原理图,数据手册,操作相应的寄存器来实现功能。

这里只需要学习简单的IO、中断、定时器、串口即可,后面的内存、IIC、LCD、AD、DA等可以有个大概的了解,需要用到的时候再重点学习。

3、学会如何移植UBOOT,不需要自己写,我们需要了解uboot的结构,并往里面添加、剪裁相应的函数。我们需要明白uboot其实就是一个用于硬件初始化的裸机程序,开发板上电后,进行内存初始化,把uboot放入内存中执行,执行完成后把传递给内核的一些参数放入boot parametors中,再从设置的地址中取出内核部分并加载到内存中,最后把程序执行权限交给内核。

4、学会如何配置和移植内核。在这之前,首先要熟悉makefile的基本规则,使用meuconfig进行图形化内核配置,然后执行顶层makefile生成内核。生成的内核需要设置很多参数,其中最重要的是对文件系统的支持。执行完内核程序后,init进程可以创建其他进程,实现多进程工作。

5、学习通过busybox创建文件系统,移植文件系统的支持库,完成后建立设备节点,最后生成镜像文件并刻录到固定位置。

6. 学会开发驱动。这里我水平不够,只是对知识点有了简单的了解。添加内核驱动,基本上就是添加一个关键结构体的内容。跟STM32的库函数封装类似,但是很复杂。

7、应用程序根据驱动封装的上层接口进行相应的硬件控制。

8、通过学习QT等界面进行嵌入式系统界面的开发,为产品提供更好的用户体验。

Linux应用层知识:

1、熟悉Linux的基本命令,掌握shell脚本操作的一系列基本Linux命令的语法。

2.熟悉C语言

3.熟悉vi编译器的基本操作

4.使用GCC编译器进行编译。

5.使用GDB调试程序(我不知道如何......)

6.Linux下基本C操作:字符串操作、内存分配、时间获取等。

7.文件系统操作:打开、关闭文件、创建、查找、获取状态。

8、文件指针的非格式化输入输出(fgetc()、fputc())和格式化输入输出(sprintf、fscanf)操作。

9.工艺操作:

进程概念:载入内存并在操作系统中运行的应用程序,由程序、数据、进程控制块(PID等)组成。

进程状态:运行态、就绪态、阻塞态(进程请求IO或者等待事件触发)

进程创建:一般我们执行的程序就是一个进程,可以用fork()来创建该进程的子进程,子进程会复制父进程的数据。pid_fork(void);

进程终止:return、exit()等。

守护进程:为了维持系统的运行,会创建一些进程。父进程是init的子进程,在后台运行。如果将普通进程修改为守护进程,需要根据守护进程的特点进行修改。

10.进程间通信:

进程间通信的目的是为了在不同进程间交换进程数据和信息,以完成某项特定的功能。主要的方法有:管道、信号、消息队列、信号量和共享内存。下面介绍几种常用的。

消息队列:将数据放入消息队列,另外一个进程通过相应的接口函数调用,获取键值对应的消息队列。

信号量:本身不交换数据,主要控制多个进程对共享资源的访问。

共享内存:多个进程将同一块内存区域映射到自己的进程空间来完成通信。是进程间通信最快的方式。

11.多线程编程:

概念:据说在嵌入式领域应用广泛是因为资源问题,其实现在嵌入式领域和传统计算机领域的界限已经很模糊了,很多时候硬件资源没那么多,需要节省,这里先略过,以后再深入研究。

12.网络编程:

TCP/IP协议栈:网络接口层(数据帧)、网络层(IP协议)、传输层(TCP/IP协议)、应用层(FTP等)。

Socket基础:Socket是封装传输层协议的操作单元,使得网络编程更加简单。

服务器模型:循环服务器模型(while结构,每次只能处理一个客户端请求)、并发服务器(fork实现,创建子进程实现)

域名系统:DNS,把难以记忆的IP地址和端口直接转换成人性化的域名。

13.GUI设计

没用过C开发,用pyQT5还是挺方便的,做完界面直接生成源码,python开发也很容易上手,强烈推荐。

 

扫描下方二维码,一个老毕登免费为你解答更多软件开发疑问!

2025年3月软件开发十大热点:超算互联、L3预埋技术引爆行业

在这个春意盎然的3月,软件开发行业再次迎来了新的热潮。从尖端技术的突破到市场需求的不断升级,每一个热点都牵动着行业发展的脉搏。今天,就让我们一同走进这激动人心的软件开发十大热点,感受科技创新的魅力。一、超算互联:算力升级,驱动创新随着大数据时代的到来,计算密集型应用日益增多,对算力的需求也呈现出爆炸式增长。据国际数据公司(IDC)最新发布的《全球计算力指数评估报告》显示,算力已成为衡量一个国家数字

2025年软件开发新规解读:数据安全法对ERP系统的影响与应对策略

随着2025年《数据安全法》修订版的正式实施,企业资源计划(ERP)系统正面临前所未有的合规挑战。国家网信办数据显示,2024年因数据泄露导致的企业直接损失高达320亿元,而ERP系统作为企业核心数据的“中央处理器”,成为新法规监管的重中之重。本文将深度解析政策变化对ERP行业的影响,并为企业提供可落地的解决方案。一、数据安全法新规核心解读:ERP系统的“三道红线”1.数据分类分级管理新规要求企业

2025年软件开发新规解读:数据安全法对ERP系统的颠覆性影响与应对策略

随着2025年《数据安全法》修订版的正式实施,企业资源计划(ERP)系统正面临前所未有的合规挑战。国家网信办数据显示,2024年因数据泄露导致的企业直接损失高达320亿元,而ERP系统作为企业核心数据的“中央处理器”,成为新法规监管的重中之重。本文将深度解析政策变化对ERP行业的影响,并为企业提供可落地的解决方案。一、数据安全法新规核心解读:ERP系统的“三道红线”1.数据分类分级管理新规要求企业

AI赋能软件开发:一场悄然进行的流程革命

在科技飞速发展的今天,AI(人工智能)技术正以前所未有的速度渗透到各行各业,软件开发领域也不例外。想象一下,曾经那些繁琐、重复的代码编写与调试工作,如今只需轻点鼠标,就能由AI助手轻松搞定,这无疑为开发者们开启了一扇通往高效与创新的大门。今天,就让我们一同探讨AI如何改变软件开发流程,以及这一变革背后的深远影响。AI:软件开发的超级加速器在软件开发的世界里,时间就是金钱,效率就是生命。AI技术的引

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部