大二的时候学习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. C#多线程环境下调用 HttpWebRequest 并发连接限制

    C#多线程环境下调用 HttpWebRequest 并发连接限制 .net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 win ...

  2. 使用dbghelp生成dump文件以及事后调试分析

    前言 在产品的实际应用环境中,如果我们的程序在客户那里出现了问题,例如程序异常了,而这个时候的现象又不能还原或者很难还原重现,那么只有使用dump文件来保存程序的当前运行信息,例如调用堆栈等,同时使用 ...

  3. android studio 2.0 GPU Debugger使用说明

    GPU Debugger GPU Debugging Tools The GPU debugging tools are an experimental feature intended to hel ...

  4. WP8.1 C#代码 添加/获取Grid.ColumnDefinitions/RowDefinitions

    WP8.1: ColumnDefinitions和RowDefinitions的道理是相同的,语法顺序是一样的,只不过是将ColumnDefinitions换成RowDefinitions而已 获取并 ...

  5. flume 配置

    [root@dtpweb data]#tar -zxvf apache-flume-1.7.0-bin.tar.gz[root@dtpweb conf]# cp flume-env.sh.templa ...

  6. HBASE基础知识

    HBASE的集群的搭建HBASE的表设计HBASE的底层存储模型 HBase 是一个高可靠.高性能.面向列.可伸缩的分布式缓存系统.利用HBase 技术可在廉价PC Server上搭建起大规模结构化存 ...

  7. 使用T4模板生成代码的学习

    之前做项目使用的都是Db First,直接在项目中添加Entity Framework,使用T4模板(T4模板引擎之基础入门)生成DAL BLL层等(T4模板是一个同事给的,也没有仔细研究,代码如下: ...

  8. 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台

    开发企业级的部标GPS监控平台,投入的开发力量很大,开发周期也很长,选择主流的开发语言以及成熟的开源技术框架来构建基础平台,是最恰当不过的事情,在设计之初就避免掉了技术选型的风险,避免以后在开发过程中 ...

  9. Ubantu16.04一键部署Cacti监控服务器

    Ubantu16.04一键部署Cacti监控服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入高级运维工程师之路:598432640 一.查看系统环境(关于该系统的安装 ...

  10. git 远程版本库,github提供服务原理,git自动更新发送邮件

    1.安装好Linux,安装好Git(192.168.1.239) 2.创建一个用户zph(让此用户提供git on server),密码设置为12345678 # useradd zph # pass ...