大二的时候学习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的更多相关文章

  1. rhel及相关linux系统版本知识

    Rhel 此处Rhel非等同redhat哦,RedHat是红帽公司在1994年左右开发维护的linux桌面版本,在2004年左右红帽公司放弃redhat开始进军linux服务器版本开发,具体见下截图 ...

  2. [转]十年前的老文:以 Linux 的名义

    一.灰姑娘的狂欢 今年初,林纳斯·托瓦兹承认:“如果在12年前,有人告诉我Linux会发展到今天的模样,我肯定会惊得目瞪口呆.” 托瓦兹说的是实话.1991年,这名21岁的芬兰赫尔辛基大学的学生,偶然 ...

  3. 初入linux系统

    作为微软的老铁粉了,看到微软进军linux这么久了,是时候该跟上脚本了,不然该落后了,脚步是如此之快,着实让我吃了一惊,说干就干, 绝不是开玩笑的,谁也阻止不了.net开源,跨平台的脚步了.以前别人说 ...

  4. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  5. C语言编译过程简介

    刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C语言的编译原理做一下小小的总结,这样也能 ...

  6. 转 C语言编译过程简介

    C语言编译过程简介 C语言编译过程简介 刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C ...

  7. 常用的GNOME Shell 扩展

    GNOME Shell(即GNOME 3)桌面环境最初进军Linux世界时,众多批评人士指出其灵活性有所欠缺.当初外观有所突破的GNOME确实会给生产效率带来一些影响,然而它多年来一直默默通过多种方式 ...

  8. 值得尝试的十款 GNOME Shell 扩展

    值得尝试的十款 GNOME Shell 扩展 作者: JACK WALLEN 译者: 核子可乐 | 2016-09-22 17:10   评论: 6 收藏: 1 当 GNOME Shell(即 GNO ...

  9. 面试总结 | Linux后台开发不得不看的知识点(给进军bat的你!)

    目录 一 自我介绍 二 面试情况 三 相关知识点汇总 1 c/c++相关 2 计算机网络 3 数据结构相关 4 数据库相关 5 操作系统 6 Linux基础知识及应用编程(后台必备!) 7 大数问题 ...

随机推荐

  1. 回文字符串的判断!关于strlen(char * str)函数

    #include <stdio.h> #include <string.h> int ishuiw(char * p); int main() { ;//true-false接 ...

  2. 用户引导页--- ScrollView的使用

    一.首先第一步,写好用户轮播页的viewController,比如叫做LVUserGuideVC,关键代码是配置和scrollView和pageControl. (1)scrollView的设置 se ...

  3. apche配置后报错(Forbidden)没有权限

    apche如何配置虚拟目录及虚拟目录的权限 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow ...

  4. Mongodb基本操作说明

    Mongodb基本操作说明 1.首先cmd(管理员方式运行)下启动mongo服务(类似初始化工具): Mongod.exe 默认文件夹为 :c:\data\db 如果没有创建该文件夹的话,需要先创建该 ...

  5. 基于Redis的爬虫平台的实现

    一.需求: 1.数据抓取:目标数据的下载.解析.入库功能. 2.数据服务:黑名单.灰名单等查询服务. 3.平台监控:平台各个模块的数据实时监控. 二.WEB端效果展示: 三.架构设计 下载器.解析器. ...

  6. 关于C#垃圾回收

    1.C#垃圾收集器(GC)原理 在C#中托管的资源是无法由程序员管理的,创建销毁都要通过GC来执行.但垃圾收集器有个特点,它是懒惰的,它并不会在变量出了作用域和生命期后立即回收,而是在它认为适当的时候 ...

  7. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  8. python-study1 in hubei

    1.安装好python后要配置环境变量(C:\Python27\Scripts---能找到pip.exe和easy_install.exe和C:\Python27---能找到python.exe) 2 ...

  9. T4

    Text Template Transformation Toolkit T4语法感觉有点像aspx的视图模板<% %>. 使用可以通过VS扩展和更新安装"T4 Toolbox ...

  10. python入门到精通[二]:基础学习(1)

    摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...