进军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 大数问题 ...
随机推荐
- Windows下安装Python lxml库(无废话版)
python官网:python-2.7.12.amd64.msihttps://pypi.python.org/pypi/setuptools:setuptools-28.6.0.zipsetupto ...
- 第二篇:白话tornado源码之待请求阶段
上篇<白话tornado源码之一个脚本引发的血案>用上帝视角多整个框架做了一个概述,同时也看清了web框架的的本质,下面我们从tornado程序的起始来分析其源码. 概述 上图是torna ...
- shell常用命令归类整理
shell 命令整理 bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- pip的相关操作
>Python中的pip是什么?能够做些什么? pip是Python中的一个进行包管理的东西,能够下载包.安装包.卸载包......一些列操作 >怎么查看pip的相关信息 在控制台输入: ...
- Maven 实战
http://www.cnblogs.com/chowmin/category/599392.html
- JavaScript在A页面判断B页面加载完毕(iframe load)
今天遇到一个需求,在A页面上判断B页面是否加载完毕(B页面是第三方页面),加载完毕时隐藏loading动画... 而平时我们一般做的事是在B页面上判断B页面是否加载完毕,进行操作. if(docume ...
- python numpy包
在numpy包中我们可以用数组来表示向量,矩阵和高阶数据结构 首先导入numpy包: from numpy import* 初始化numpy数组有多种方式,比如说 1.python列表或元祖 2.使用 ...
- Android JNI 本地开发接口
前言 我们为什么要用JNI --> 高效.扩展 高效:Native code效率高,数学运算,实时渲染的游戏上,音视频处理 (极品飞车,opengl,ffmpeg,文件压缩,图片处理-) 扩展: ...
- android 案例二 登录界面
效果图: 运行图: 总结: 编写这个简单的用户登录界面,主要用到了以下的知识: java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...