进军Linux
大二的时候学习Java,学完Java SE之后就放弃了这条道路,踏上了嵌入式之路。那时候约定好,选择了DSP,从C2000开始学起,基础仅仅是会C51,有C语言和Java的基础。这几年随着项目的需求变多,用过的芯片主控也越来越多,用了C51,MSP430,STM32,甚至开发arduino平台熟悉各个模块,会C++,用QT能做出通信的上位机,也自己不断的找机会绘制板子,画PCB。于去年,TI正式把C2000系列DSP划归为高性能单片机,C5000和C6000系列是正位的DSP,可对于我来说,目前,我已经不掌握任何DSP了, 我无法说我是一个做DSP开发的人,真正的DSP架构我没有过多的了解,一个达芬奇硬件成本实在太高,也没有这样高端的项目,在DSP上面,我已经没有了任何的位置。而纵观DSP行业,作为锦上添花还可以,如果将来依靠之,风险是在太高。我也不知道以后是否有幸能接触到DSP的项目,我与DSP的缘分,不知道未来怎么书写。
现在的时候也不得不去面对现实的问题,在这个行业游走总该有自己的理由,有自己的位置。这大学几年加上出来这几年,我也开始渐渐体会到,我应该把目光放的更远,更应该去选择一个其他的道路。有了DSP的基础,一路学过来,容易不容易,都已经走到今天。去年,萌生出一个想法,开始学ARM,真正的走入嵌入式的核心地位,将DSP作为锦上添花的技能。买了一个Cortex A53的三星板子,开始熟悉这一套,Linux内核编程,嵌入式Linux入门,嵌入式Linux驱动开发等等。刚拿到也不知道从地方学起。而做了这么多,想想应该套路都是一样的,既然涉及Linux,必然要了解Linux,这个Linux和我们用的Linux系统有所差别,但是本质一样,核心思想是一样的。这个系统嵌入到ARM中,如何实现驱动外设的模块,比如我怎么编程驱动ADC采样,ADC采样给了时序,片上编程需要落实到每个引脚的,那么如果在Linux上调用的函数是什么,还需不需要考虑时序,还是直接就是现成的函数,如何封装编程,如何把我编的驱动揉到Linux系统中。那么这个驱动函数应用软件如何调用,有权限吗?内核文件怎么改,怎么输入到芯片里,芯片如何引导,如何调试。在我们经过嵌入式的开发之后,我确实不是一片茫然,而是带着问题去学习。现在面对如下问题:
· 嵌入式Linux的原理和结构理解 - 参考《深入理解Linux内核》,到此,应该接触到系统引导uboot之类的,请弄清晰。
· ARM嵌入式Linux设备驱动开发 - 到此要在我们的Cortex A53上面驱动最简单的IIC外设,或者SCI串口都可以。
· 修改Linux内核
· ARM硬件结构如何,片上编程如何编
· 搭建开发环境
加油,一个个来,一个个击破。
进军Linux的更多相关文章
- rhel及相关linux系统版本知识
Rhel 此处Rhel非等同redhat哦,RedHat是红帽公司在1994年左右开发维护的linux桌面版本,在2004年左右红帽公司放弃redhat开始进军linux服务器版本开发,具体见下截图 ...
- [转]十年前的老文:以 Linux 的名义
一.灰姑娘的狂欢 今年初,林纳斯·托瓦兹承认:“如果在12年前,有人告诉我Linux会发展到今天的模样,我肯定会惊得目瞪口呆.” 托瓦兹说的是实话.1991年,这名21岁的芬兰赫尔辛基大学的学生,偶然 ...
- 初入linux系统
作为微软的老铁粉了,看到微软进军linux这么久了,是时候该跟上脚本了,不然该落后了,脚步是如此之快,着实让我吃了一惊,说干就干, 绝不是开玩笑的,谁也阻止不了.net开源,跨平台的脚步了.以前别人说 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- C语言编译过程简介
刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C语言的编译原理做一下小小的总结,这样也能 ...
- 转 C语言编译过程简介
C语言编译过程简介 C语言编译过程简介 刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C ...
- 常用的GNOME Shell 扩展
GNOME Shell(即GNOME 3)桌面环境最初进军Linux世界时,众多批评人士指出其灵活性有所欠缺.当初外观有所突破的GNOME确实会给生产效率带来一些影响,然而它多年来一直默默通过多种方式 ...
- 值得尝试的十款 GNOME Shell 扩展
值得尝试的十款 GNOME Shell 扩展 作者: JACK WALLEN 译者: 核子可乐 | 2016-09-22 17:10 评论: 6 收藏: 1 当 GNOME Shell(即 GNO ...
- 面试总结 | Linux后台开发不得不看的知识点(给进军bat的你!)
目录 一 自我介绍 二 面试情况 三 相关知识点汇总 1 c/c++相关 2 计算机网络 3 数据结构相关 4 数据库相关 5 操作系统 6 Linux基础知识及应用编程(后台必备!) 7 大数问题 ...
随机推荐
- BitTorrent DHT 协议中文翻译
前言 做了一个磁力链接和BT种子的搜索引擎 {Magnet & Torrent},因此把 DHT 协议重新看了一遍. BitTorrent 使用"分布式哈希表"(DHT)来 ...
- DataTable数据赋值给Model通用方法
注:该文属本人原创,今后项目中发现该方法存在BUG会实时更新,转载记得附上原文出处,方便大家获得最新代码. 相信大家在做项目中,经常会根据不同的表new各种不同的Model,当需要对Model进行实例 ...
- js时间格式化
const formatDate = timestamp => { const date = new Date(timestamp); const m = date.getMonth() + 1 ...
- R12.2.6 installation failed with - Unable to rename database
报错信息: 日志信息:/data/ebsdb/VIS/12.1.0/appsutil/log/VIS_ebstest/12222150.log Phase 3 Rename Database Exec ...
- 用Canvas制作简单的画图工具
今天用Canvas制作了一个画图工具,非常简单,功能也不是很多,主要有背景网格,画线,画圆,画矩形和画圆角矩形,也用到了canvas的一些基本知识,在这里一一列举. 1.线段的绘制: 如何绘制真正的1 ...
- LinQ 组合查询与分页
1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...
- Easy Tag Write(3.3)
package skyseraph.android.util; /** * @Title : Constant.java * @Package : tcl.nfc.tv.util * @ClassNa ...
- windows2003 iis php 配置后无法执行php页面
1.问题:可以访问静态页面,无法访问php脚本页面,显示404 解决:
- php 设计模式
一.工厂模式 1.创建接口类,规范方法,要实现这个接口的类必须实现这个接口的所有方法,接口的方法默认是抽象的,所以不再方法前面加 abstract interface people{ public f ...
- Java IO设计模式彻底分析 (转载)
一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充.它采用了流的 机制来实现输入/输出,所谓 ...