嵌入式学习路线

实验一 Linux系统与应用准备

荒凉一梦 提交于 2020-03-01 19:51:18
实验一 Linux系统与应用准备 项目 内容 这个作业属于哪个课程 课程链接(点击查看) 这个作业的要求在哪里 作业要求链接(点击查看) 学号-姓名 17043214-江飘飘 作业学习目标 学习博客园软件开发者学习社区使用技巧和经验; 学习Markdown的一些编辑文档方法在博客园写博客。 发展方向 ​ 通过这些天观看学习视频,Linux的应用主要在服务器和嵌入式设备上的应用。结合自己的专业及自身的兴趣爱好,我打算往嵌入式Linux的方向发展。 ​ 首先,由于我主要对程序设计比较感兴趣。特别是编写一些微控制器的C程序,像51,32这些。而Linux同样是由C编写的,比较符合我的特长和兴趣。 ​ 其次,由于深入学习cortex-A9的需要,写裸机程序已经不能满足需求而且微控制器的使用效率不高,所以要使用到操作系统,目前在嵌入式方面,主流的操作系统主要有ucos iii、vxworks、wince、linux等。而Linux在arm上的的使用范围最广泛。 ​ 最后,由于嵌入式Linux需要一定的技术门槛,相关方面技术人才缺口大,就业岗位比较多,所以工作也应该相对好找一点。 博客推荐 1、 嵌入式Linux入门:概述 推荐理由:目前我们刚刚学习Linux,对于如何学习Linux还比较迷茫,所以推荐大家可以看看这篇文章来了解如何学习Linux,以及要学习Linux的哪些东西。 2、

嵌入式从入门到精通的学习攻略

好久不见. 提交于 2020-02-29 19:30:41
近几年,嵌入式系统产品渐渐完善,并在全世界各行业得到广泛应用。2004年,全球嵌入式系统产品的产值已达2000亿美元,国内嵌入式软件的产值也达到600亿人民币。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 嵌入式软件工程师学习路线推荐: 一、嵌入式软件编程的基础 这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。 特别是C语言中对指针的理解和应用。信盈达小编告诉你这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。 必学内容有:Linux Ubuntu操作系统安装、使用、Linux常用命令、samba服务器、SSH远程登录GCC编译器、GDB调试器、VI编辑器。 1、嵌入式C语言高级编程 2、C数据类型、控制语句 3、C程序结构设计、数组、函数、预处理: 4、指针及字符串操作 5、结构体、共用体、宏、枚举 6、文件I/O操作 嵌入式中物联网开发学习 1、了解物联网、泛在网、互联网基本要领及其关系 2、熟悉RFID从低频段到高频段的基本工作原理,以及RFID标签的种类与行业应用,读卡器原理与通信过程 3、熟悉TI的cc2530的基本应用,包含基本硬件资源,协议栈相关接口使用,以及点对点通信、星形通信

跟涛哥一起学嵌入式 第05集:一道程序改错题,测出你的嵌入式功底

纵然是瞬间 提交于 2020-02-26 02:52:11
大家好,欢迎阅读《跟涛哥一起学嵌入式》第05集,我们今天讨论一下中断的基本概念。 中断,是嵌入式开发中经常使用的一个功能,也是嵌入式工程师必须要掌握的一个概念:CPU和外设通信时,一般都采用中断的形式异步通信,可以大大提高CPU资源的利用率。而你对中断的理解,到底有多少呢?不要急,一道程序改错题,就可以测出你的嵌入式系统功底。 比如,我们在嵌入式ARM裸机平台上,要实现一个MP3播放器,要求实现如下功能:当按键按下时,可以播放、暂停、播放下一首、上一首。为此,我们设计一个按键中断服务程序,当有按键发生时,我们去读取按键的值,然后再根据按键值去执行不同的操作,设计的按键中断函数如下: int keyboard_isr(int irq_num) { char *buf =(char *)malloc(512); int key_value = 0, key_value = keyboard_scan(); if(key_value == 1) { mp3_decode(buf,"xx.mp3"); sleep(10); mp3_play(buf);//play } else if(key_value == 2) mp3_pause(buf);//pause else if(key_value == 3) mp3_next(buf);//next song else if(key

嵌入式到底该怎么学

孤街醉人 提交于 2020-01-18 00:27:43
前言  其实一直有人问我嵌入式怎么学,今天跟大家讲讲我的理解。因为嵌入式是一个泛的概念,可能很多人认为嵌入式就是嵌入式Linux。但是其实并不仅仅只有Linux, 像STM32,51单片机也属于这个范畴之内的,它们有的也可以跑协议栈,跑ucos等系统。所以其实嵌入式是有很多方向的,选择一个方向,做好,做精,都是有前途的。接下来,跟大家探讨一下嵌入式的一些方向,和如何去学习。我以前也是摸索着过来的,没人告诉我如何学习,也没有学习线路,所以走了很多弯路。所以希望这篇文章可以帮助到一些正在学习的人,当然这些内容可能有主观的东西,欢迎大家一起探讨吧。如下仅讨论软件方面 _ 。 以下内容对牛人不适用。 嵌入式方向 - 单片机开发  单片机开发在这个市场上的需求还是很大,因为制造业公司还是很多,单片机更多用在工业控制,机械控制等上面,当然也会涉及物联网。单片机有8位,16位,32位的,一般8位用得比较多的就是51单片机和STM8,32位用得比较多的就是STM32,还有NXP的芯片,比如K60,K22等。一般学完51和STM32之后,找个单片机的工作应该是没什么问题了。单片机的门槛其实并不高,但是做好也不容易就是了,可能因为门槛问题,导致薪资上面并不会特别高(能力牛逼者例外)。 - Linux应用开发  以前很多人问我“ Linux应用到底在做什么? ”。其实应用就是在做功能,在操作系统中

嵌入式学习路线

你说的曾经没有我的故事 提交于 2019-12-24 03:03:43
1、打好嵌入式软件编程的基础 这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。 特别是C语言中对指针的理解和应用。这一阶段的主要目的是 学习编程语言 、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。 这一阶段推荐的嵌入式学习书籍如下:《C程序设计语言》,《C语言核心技术》,《数据结构与算法分析--C语言描述》,《C和指针》,《C陷阱与缺陷》,《C++ Primer》 ,作为嵌入式软件工程师还要有一定的数字电路及模拟电路基础 2、学习ARM体系结构编程 这一阶段才是真正的嵌入式编程,首先我们要选择一款嵌入式CPU和一款嵌入式开发平台,目前ARM 嵌入式CPU应用最广泛, 这一阶段重点是学习嵌入式CPU的裸机编程,熟悉中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等常用嵌入式外围设备的硬件工作原理 , 以及如何使用C语言来编程、控制这些硬件 。这一阶段除了要学习对硬件编程之外,还需要学习嵌入式硬件的知识,但是 对于嵌入式软件工程师来讲,重点是学习硬件的工作原理 ,在掌握硬件工作原理的基础上,对硬件进行编程控制。这和硬件工程师学习的侧重点有所不同。 这一阶段对应的学校的课程主要包括模拟电路、数字电路、微机原理和单片机 。 这一阶段重点是要看CPU的芯片手册

ARM+LINUX嵌入式学习路线

别说谁变了你拦得住时间么 提交于 2019-12-17 23:48:11
我是本科就开始学习Linux,参考了很多资料,其中一直在更新的目前看也只有韦东山老师了,当然还不得不提就是原子哥开始做Linux开发板,还是一样的配方(卖板子,资料全部免费,简单粗暴的模式),感觉韦东山老师的压力估计又大了些。补充:火哥也开始做Linux开发板了,火哥也是我学习STM32路上的榜样,之前还经常在论坛互动,不过工作后由于方向的转换也是很久没去论坛了。 下边分享的是我从之前买的韦东山老师的教程翻出来的,讲的很好(虽然我完全没有照做。。。) ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。 (2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 (3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

嵌入式Linux学习路线--1

元气小坏坏 提交于 2019-11-28 20:08:36
嵌入式Linux学习路线–1 本文翻译自 Michael Eager的文章 原文:https://www.embedded.com/electronics-blogs/open-mike/4420567/Learning-Linux-for-embedded-systems 译者:forland 作者简介:Michael Eager是位于Palo Alto的Eager Consulting公司的首席顾问。在多种嵌入式架构的编译、调试、仿真方面,有四十年的开发经验,客户包括重要的半导体厂家和系统开发公司。ISO C++ 标准委员会的成员,多个架构的ABI委员会成员,DWARF标准协议(一种广泛应用的debug标准)委员会主席。经常活跃于开源和Linux社区。   最近总是被问起,具有8位和32位单片机如PIC、PowerPC嵌入式编程经验而没有Linux经验的人,如何学习嵌入式Linux。对于这些具有嵌入式编程经验的人,我的建议是:把嵌入式Linux分成两部分去看,分别是嵌入式部分和Linux部分。首先我们先来看Linux部分。 Linux部分   嵌入式操作系统种类繁多,Linux就是其中之一。不管你使用Linux、Windows或者Mac进行嵌入式开发,你都要学习如何在目标系统上编程。就这方面讲,使用Linux还是VXworks,WindowCE,或者其他嵌入式系统,没有什么区别