chun2495 发表于 2022-11-5 11:03:14

学习linux需要掌握的知识点

本人从事linux开发若干年,将知识点进行总结,想到哪说到哪,欢迎大家补充!

u-boot知识点
入门:烧写,启动配置,主要是在u-boot里,比如从sd卡启动、emmc、启动、flash等。setenv修改启动参数bootcmd、serviceip、波特率什么的。
进阶:编译u-boot,新增驱动、修改board_f函数、配置phy等、还有就是设备树。

linux知识点
入门:编写简单驱动、以模块形式和编进内核形式来操作、menuconfig配置.config、写kconfig、编译内核。
进阶:配置启动脚本、自动修改ip/mac/系统参数、修改编译设备树、挂载外设、存储分区(fdisk)、gdb调试(打断点、查看变量值等、定位段错误bt)。

常用命令掌握:vi编辑、设备树编译dtc、gcc编译、gdb调试、ethtool(配置网卡速率、自适应、全半双工)、tftp传输、fdisk分区、mkfs格式化、tar压缩打包、mount挂载磁盘、dos2unix转化
ln链接、iperf灌包、tail动态查看文件、telnet网络连接。

akey3000 发表于 2022-11-5 11:07:29

继续,不错

zhangling520 发表于 2022-11-5 11:28:04

继续,支持

lonny_chen 发表于 2022-11-5 11:31:16

能独立做项目吗

polarbear 发表于 2022-11-5 11:52:24

会敲这个就行了   rm -rf

三年模拟 发表于 2022-11-5 13:44:42

linux便软件,硬件的话一般驱动开发涉及到,其它情况都是复制黏贴开源库了,真正自己写的很少

akey3000 发表于 2022-11-5 14:02:25

三年模拟 发表于 2022-11-5 13:44
linux便软件,硬件的话一般驱动开发涉及到,其它情况都是复制黏贴开源库了,真正自己写的很少 ...
(引用自6楼)

其他的?举个例子呢

三年模拟 发表于 2022-11-5 15:42:34

akey3000 发表于 2022-11-5 14:02
其他的?举个例子呢
(引用自7楼)

比如,做物联网移植mqtt库,视频移植mmjpeg库,图像识别open cv,基本都有开源的

akey3000 发表于 2022-11-5 18:46:42

三年模拟 发表于 2022-11-5 15:42
比如,做物联网移植mqtt库,视频移植mmjpeg库,图像识别open cv,基本都有开源的 ...
(引用自8楼)

请问下你在linux下开发,主要用什么语言?c/c++,还是python?

三年模拟 发表于 2022-11-5 19:44:15

看项目,目前还是c多一点

gmyu 发表于 2022-11-6 10:24:22

外行请教楼主,嵌入式的,例如只有几十兆内存的,不方便运行python的,不动硬件的情况下,是不是搞一次内核编译就行了,以后只编译小程序,像windows下面一样,程序copy进去,改一下启动脚本就可以了。

三年模拟 发表于 2022-11-6 11:45:19

gmyu 发表于 2022-11-6 10:24
外行请教楼主,嵌入式的,例如只有几十兆内存的,不方便运行python的,不动硬件的情况下,是不是搞一次内核 ...
(引用自11楼)

是的,linux本身和windows一样的

gmyu 发表于 2022-11-6 18:24:36

三年模拟 发表于 2022-11-6 11:45
是的,linux本身和windows一样的
(引用自12楼)

谢谢!正在了解中

下一页 发表于 2022-11-7 09:52:30

polarbear 发表于 2022-11-5 11:52
会敲这个就行了   rm -rf
(引用自5楼)

你好像还是不太懂,这个命令啥也没做,恐怕还得报错

下一页 发表于 2022-11-7 10:06:30

嵌入式linux环境下搞开发,bootloader需要普通开发者参与的机会很少,一般是芯片厂就搞定了,有很少的可能需要方案厂商参与,初学者需要看自己的学习目标是什么。
同样,Linux的移植也是这样。
驱动程序,最终的开发者一般会调用iic,spi这些底层驱动就行,一般不用自己写,会改gpio,会加载驱动一般工作就能应付,但是这里有个有技术含量的工作,就是液晶屏的驱动,不同产品,用到的分辨率、方向、屏参都会有不同,需要非常熟悉液晶屏和Linux下的相关驱动,要能改驱动,改完之后要会把改好的驱动编译进厂家提供的内核。
如果是在做嵌入式产品的厂家,专注到Linux的使用,linux下如何编程,适当了解底层就行。一个人的精力有限,集中精力做某一方面的专家。
如果你求职的目标是方案厂家甚至是芯片厂家,或者是啥都自己搞的大厂,其内部分工更细,你关注其中一项就行,Linux的开发反而不用过分关注。
总结:以Linux为界,如果你的企业是用现成方案做自己的产品,你关注Linux之上的东西就行。如果你的企业是做方案的,你关注Linux之下的东西就行。嵌入式系统涉及到的知识太多,几乎不可能像搞单片机的一样,一己之力全搞定,不是不行,普通人还是想办法做“专”家

akey3000 发表于 2022-11-7 10:15:05

下一页 发表于 2022-11-7 10:06
嵌入式linux环境下搞开发,bootloader需要普通开发者参与的机会很少,一般是芯片厂就搞定了,有很少的可能 ...
(引用自15楼)

有客户用全志的a40i做产品,是在原厂port好的系统上,用qt做开发,对底层并不了解。意外的是,全志原厂对底层也不是特别了解,客户碰到问题,原厂经常反馈不知道

chun2495 发表于 2022-11-7 13:36:16

akey3000 发表于 2022-11-7 10:15
有客户用全志的a40i做产品,是在原厂port好的系统上,用qt做开发,对底层并不了解。意外的是,全志原厂对 ...
(引用自16楼)

全志也是拿着芯片厂家给出的demo板进行二次开发的。有些问题并没有遇到过。

chun2495 发表于 2022-11-7 13:38:14

polarbear 发表于 2022-11-5 11:52
会敲这个就行了   rm -rf
(引用自5楼)

还差个 /
就能删库跑路了?

akey3000 发表于 2022-11-7 13:50:57

chun2495 发表于 2022-11-7 13:36
全志也是拿着芯片厂家给出的demo板进行二次开发的。有些问题并没有遇到过。 ...
(引用自17楼)

全志是芯片原厂

chun2495 发表于 2022-11-7 18:58:32

akey3000 发表于 2022-11-7 13:50
全志是芯片原厂
(引用自19楼)

好吧,那不知道就没说不过去了。

下一页 发表于 2022-11-8 12:22:50

akey3000 发表于 2022-11-7 10:15
有客户用全志的a40i做产品,是在原厂port好的系统上,用qt做开发,对底层并不了解。意外的是,全志原厂对 ...
(引用自16楼)

按理说不应该,是不是技术支持工程师水平或者态度问题,这样规模的企业,恐怕研发和技术支持不是一个部门,甚至你找到的是销售部门。

unifax001 发表于 2023-1-29 16:17:09

polarbear 发表于 2022-11-5 11:52
会敲这个就行了   rm -rf
(引用自5楼)

rm -rf/*
会执行这个操作才行的
页: [1]
查看完整版本: 学习linux需要掌握的知识点