首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

新人怎样学习嵌入式Linux?

作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,很适合煅炼你的编程能力。 回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统、应用开发。如果你是想做应用开发,那么你去把C语言、数据结构、JAVA什么的学好吧。嵌入式应用开发和PC上的应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子,比如说开发界面,在PC上我们用VC;在嵌入式Linux里也许我们用QT也许用Android,这个时候你应该去学学QT、Android的编程。但是基础还是C或JAVA,在此基础上去熟悉它们的接口。你学过VC的话,也是要花时间去了解那些类、控件的。

01

kali rolling linux 安装BCM43142网卡驱动

玩linux已经有半年多的时间了,在这半年时间里,我的linux系统重装了已经不下于十次了吧。最近心血来潮,玩了一把kali linux (大学霸),除了无线网卡驱动没有之外,其他的都很满意,比之前用的ubuntu系列的好多了。我知道有好多人都在用ubuntu系统,主要是因为这个系统用的人多,社区力量比较大,你能遇到的问题别人都已经遇到过了,在网上都可以找到很多关于ubuntu这个系统出问题之后的解决方案。ubuntu的确是入门的好东西。但是他也有好多缺点:不怎么稳定,在ubuntu用过一段时间之后,你会发现电脑开机之后会弹出很多错误信息,我特别讨厌这个,就把这个弹框禁止了,后来开机就没有这个可恶的东西了。但是如果不禁止的话这个就有点不友好了。ubuntu的源太旧了,有好多软件用apt 安装后会发现版本太旧了,根本没办法用,然后的自己从官网上下载,然后编译安装。对于一个想学好linux 的人来说,这些不算什么,但是源太旧的话就失去了源存在的意义了,不是吗。最后我觉着ubuntu的界面实在是不好看,尽管网上有人说ubuntu的界面不错,但是我觉得真的不好看,当然桌面可以自己装,这个不算什么。

02

Linux设备树语法详解

Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,一个.dts(device tree source)文件对应一个ARM的machine,一般放置在内核的"arch/arm/boot/dts/"目录内,比如exynos4412参考板的板级设备树文件就是"arch/arm/boot/dts/exynos4412-origen.dts"。这个文件可以通过$make dtbs命令编译成二进制的.dtb文件供内核驱动使用。

07

树莓派的产品定位,以及探讨与ARM开发板的区别

1、树莓派是一款基于Linux系统的单板机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本的计算机科学教育。树莓派被赋予的希望是,能够帮助全世界的孩子学习编程,并能够了解计算机是如何工作的; 2、树莓派只要加上USB键盘、鼠标、HDMI屏幕就立马变成一个小型电脑,用于学习编程(Linux系统),系统中预装多种编程软件和环境,方便使用;并且利用树莓派,可以搭建多种应用:路由器、智能小车、智能家居、服务器等,这些都有成熟的开源代码; 3、树莓派跟windows虚拟机跑linux操作系统有什么区别?   1)对于系统使用,本质上没啥区别,都是Linux操作系统罢了,主要有以下三点区别;   2)软件上,树莓派预装很多开发软件,方便使用者直接用,不用经过繁琐的软件安装;   3)硬件系统不同,树莓派拥有丰富的硬件外接接口,用来对接其它硬件做试验;比如树莓派(作为主机)与Aduino(AVR内核的卡片机,作为从机)配合工作;   4)基于树莓派设备基础的社区生态比较完善,有很多开发者在树莓派软硬件基础上设计很多有用的工具和项目; 4、Raspberry的几种操作系统:   1)NOOBS   2)Raspbian   3)Ubuntu Mate   4)Snappy Ubuntu Core; 注意:采用不同的操作系统,本身的软硬件资源是不同的,视乎应用而选定; 5、常见的Linux系统:   1)商业版:red hat 、CentOs、suse;   2)开源版:debian ubuntu ;   3)系统的选择取决于你拥有的硬件,和商业应用。 6、树莓派上常用的脚本语言:Shell(Linux系统管理,运行软件:Bash/Dash/Tsch/LXTerminal)、Python(跨平台管理:服务器、网站管理); 7、树莓派自2012年推出以来全球销量已达1250万块,世界第三大计算平台。

02
领券