进军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 大数问题 ...
随机推荐
- 升级到macOS 10.12 mysqlb报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
系统升级到macOS 10.12后启动mysql后,在终端输入mysql 报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' ...
- 前台获取Dropdownlist选中的text
$("#ddltest").find("option:selected").text()
- "mkimage" command not found - U-Boot images will not be built
编译内核的时候出现错误:"mkimage" command not found - U-Boot images will not be built 参考链接 http://blog ...
- 首次用U盘安装CentOS
安之前看了这篇文章,http://www.osyunwei.com/archives/2307.html,然后就开始了. 首先下载ultraiso,官网下载的,将centos的iso镜像写到u盘上. ...
- rpm与yum
设置本地源与网络源:https://my.oschina.net/u/1861462/blog/723958 rpm命令:http://man.linuxde.net/rpm https://my.o ...
- java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer
今天做springmvc+mybatis+spring的项目的时候发现了一个异常.如下: org.apache.ibatis.builder.IncompleteElementException: C ...
- Linux 设置定时任务crontab命令
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- jqurey datatable mRender FnRender 不起作用问题
用这个插件的 知道他不起作用,就应该知道他是做什么的了吧,我的不起作用的原因是版本的问题 我在网上查找的用法 是 "fnRender":fuction(obj){} 可是不起作 ...
- Java:批量插入、修改数据到数据库中的用法
在java中使用JDBC实现批处理的对象一般是使用PrepareStatement对象. 如何使用: Class.forName("Oracle.jdbc.driver.OracleDriv ...
- Could not find a getter for id in class 的异常
检查.hbm.xml里边的id是否大小写一致