
嵌入式电路、软件、系统设计、项目分析和实战
文章平均质量分 71
历时一年完成嵌入式电路、软件、系统设计、项目分析和实战方面的内容,主要介绍51单片机、stm32、fpga和linux soc软硬件设计、项目开发等方面的知识。整个专栏知识全面、有文字、有代码,还有必要的图形说明。对于准备就业的学生,或者是工作5年之内的朋友,会有很大的帮助和提高。
嵌入式-老费
计算机科班出身,09年研究生毕业即投入嵌入式开发工作,欢迎付费咨询,微信联系:xiaoxing_fei。
展开
-
嵌入式电路设计(51单片机电路设计)
【 声明:版权,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 读书的时候,其实学校没有教学51单片机。后来是看了郭天祥的书,并且买了杜洋工作室的板子,这才知道有51单片机这种东西。甚至于,在后来的接触中,发现常用的stc系列51单片机居然是南通一家公司生产的,成本可以做到几块钱,觉得也是蛮惊奇的。 知道了51单片机之后,起初也没有觉得这个东西有什么用。然而后来随着时间慢慢积累,才知道很多小商品或者小玩具上面,这颗芯片还是能够发挥一些作用的。很多场景下面...原创 2021-10-16 17:09:54 · 6050 阅读 · 1 评论 -
嵌入式电路设计(stm32电路设计)
【 声明:版权,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在立创开源硬件平台上面,stm32可以说是使用最多的mcu芯片。它的核心是arm core。一方面,工业上比较认可stm32,另外一方面,我们也不得不承认意法半导体在校园推广mcu方面确实做的很好。当然,目前芯片普遍比较紧俏,之前便宜的几块钱的stm32,都要几十甚至上百了,这已经是后话了。 stm32用的比较多的stm32f103、stm32f3、stm32f4这些。现在,除了上面说的这些...原创 2021-10-16 22:17:46 · 17280 阅读 · 4 评论 -
嵌入式电路设计(入门)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 因为学的是计算机,自己画电路板的机会也不多,所以这方面练习的少。之前学习嵌入式,很多的板子都是网上购买的,比如某原子,某野火,某alinx,这些都买过。使用中发现,有的板子还是价格比较贵的,于是就想自己试试画一些板子,比如从最小系统开始,看看是不是可以积累一些经验,慢慢把电路这部分掌握起来。1、eda工具 考虑到版权的问题,目前主要使用国产立创eda,可以画原理图,可以画p...原创 2021-09-10 22:42:29 · 1991 阅读 · 0 评论 -
项目分析(嵌入式产品Web化)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 如果只是嵌入式产品部分,那么之前的讨论和分析基本上是足够的。但是如何通过网络的方法,直接一点,用web的方法把所有嵌入式产品信息集中起来使用和分析,这本身就是一个很有意义、并且有商业价值的想法。............原创 2022-08-08 00:27:28 · 1078 阅读 · 0 评论 -
项目分析(嵌入式产品中的硬件设计、生产)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论了很多嵌入式软件、项目、产品方便的内容,但是对硬件设计和生产谈的很少。这不是不重要,只是因为这方面并不是自己的优势,只能结合自己过往的经验给大家一点建议,供大家参考。1、不同阶段的硬件设计,侧重点不同 早期,硬件开发的主要目的就是快速验证系统的原型是否可行。这个时候主要是试错,软件能不能做得出来,性能够不够好,算法够不够鲁棒,很多东西其实都是不确...原创 2022-08-07 22:49:23 · 479 阅读 · 0 评论 -
项目分析(复杂嵌入式产品设计)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 所谓的复杂嵌入式产品,其实说的就是一个系统中,可能存在2个或者是多个嵌入式产品。这里面又可以分成两种情况,一种是同类型的多个嵌入式产品;一种是不同类型的嵌入式产品。举例来说,如果是很多的监控摄像头,那么通过云端或者服务器就可以把这些摄像头管起来;如果是多种不同嵌入式的组合,一般来说,一种嵌入式负责算法,一种是负责执行,机器人就属于这么一种情况。.....................原创 2022-08-02 06:49:34 · 632 阅读 · 0 评论 -
项目分析(三个小众的嵌入式产品)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学都有这样的误区,好像一定要做大项目、复杂产品才能有很好的市场。这其实是一个误区。产品是否有市场,和技术有关系,但是最主要的还是需求。有些你看起来很简单的东西,市场上很旺盛的产品需求。另外一个误区,就是工程师比较痴迷于东西是怎么做出来的,却对为什么要做这个产品显得不是那么上心。今天,我们可以简单分析一些市场上比较受欢迎,但是很小众的产品。.........原创 2022-07-28 23:39:41 · 783 阅读 · 0 评论 -
项目分析(那些it培训给不了的项目知识)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在十几年前我读书的时候,计算机培训就很火。从最早的网页培训,到后来的嵌入式培训、在线培训等等,这中间出现了各种各样的形式。很多时候,我们都会听到这样的疑问,培训机构有没有用,能不能学到技术?除了技术,个人的发展还需要靠什么?............原创 2022-07-27 07:38:10 · 443 阅读 · 0 评论 -
项目分析(从技术到项目、产品)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】很多人学习了很多技术,比如说硬件技术、嵌入式软件、上位机技术,到了这一步就停止不前了。究其原因,最主要的就是没有把自己的技术发挥出来。退一步说,就是没有找到平台发挥出自己的技术水平。那么这个时候怎么办呢?我想主要就两个地方,一个是去做项目,一个是做产品。.........原创 2022-07-26 20:13:53 · 574 阅读 · 0 评论 -
上位机开发(总结)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 上位机开发和传统的pc app开发类似,但是又不太相同。这里面最大的差别,就是涉及到上位机和嵌入式设备的交互部分,也就是通讯协议的设计和实现,这部分是需要好好注意的。在实际开发过程中,要注意上位机开发时间和嵌入式开发时间的分配。 此外,关于上位机和嵌入式的开发,这里还有一个小技巧。除了必要的硬件设备代码放在嵌入式设备调试,其他逻辑功能代码能够放在pc端测试的,尽量安排在pc端开原创 2022-06-15 01:15:12 · 4479 阅读 · 1 评论 -
上位机开发(基于autogui压力测试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 软件质量的好坏,离不开软件压力测试的帮助。但是,压力测试本身是枯燥无味的,也是比较耗费时间的。所以,这部分的工作建议尽量用脚本来完成。比如说,用python + autogui就不错。1、原理 利用autogui测试的原理,主要还是利用图像技术找到对应的x、y坐标,将鼠标移动过去单击、双击、右击都可以。2、示例代码来源https://github.com/techstay/py原创 2022-06-15 01:02:58 · 378 阅读 · 0 评论 -
上位机开发(canvas使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 每一个图形界面框架都有自己canvas结构。在实际应用中,当前的控件很多时候并不能满足应用的场景需要。比如说,有的控件需要扩展更多的自定义属性。再比如说,有的控件根本不存在。还比如说,有的时候,需要自定义建模,在画布上对整个工程的运行情况进行虚拟建模处理。 pyqt5本身就来自于qt5,而qt5对canvas的支持是比较充分的。再加上python开发本身就比较容易,所以用pyq原创 2022-06-14 07:03:22 · 553 阅读 · 1 评论 -
上位机开发(动态数据展示)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在python里面,有一个特别棒的数据显示库。有了它可以帮助我们节省很多的工作。这个库就是matplotlib。为了说明如果使用这个库进行开发,我们可以先找一个demo,然后不断改进和优化这个demo,直到最终达到我们的要求。老规矩,文章的最后阶段附上代码。实际运行效果如下,1、找到一个demo,比如下面这个matplotlib 动态刷新绘图(最简单的方法, 没有之一)参考: 在matplo原创 2022-06-13 23:28:36 · 507 阅读 · 0 评论 -
上位机开发(软件测试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学,甚至于很多大公司,都认为软件质量就是软件测试部门的事情。但说白了,这就是甩锅的表现。对于测试部门来说,软件在测试的同学看来,它挺多就是一个有一定功能的黑盒子,就算对功能进行了一定的测试,难道软件就真的没问题了吗?今天,正好接着上位机开发这个机会,讨论一下软件测试究竟应该怎么做?1、软件质量高低是全流程控制的结果 软件质量来自于需求分析、架构设计、软件设计、软件开发和软原创 2022-06-13 06:28:47 · 4200 阅读 · 0 评论 -
上位机开发(编码调试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 程序开发,主要是根据详细设计文档,依次开发即可。因为整个开发的内容比较多,不妨找一个模块自己了解一下,程序开发是怎么进行的。本次blog描述的主要是界面的开发,整个开发的内容不多,在本文的最后会给出完整的代码。 首先看一下效果图,1、 选择语言 这里需要注意的语言是python3,这边需要注意一下的。2、安装pyqt5开发包 这方面的资料很多,不熟悉原创 2022-06-12 22:38:12 · 413 阅读 · 0 评论 -
上位机开发(详细设计)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 所谓软件详细设计,它的上面对应的是架构设计,下面对应的是程序开发。架构设计有可能涉及多个软件,比如既可能涉及上位机这端,也可能涉及到mcu这端。详细设计的话,一般要落实到什么开发工具、什么库、是不是多线程、数据加载保存方法、显示流程这些细节的东西。1、开发工具 python32、显示框架pyqt5 之前讨论过qt的显示效果较好,正好有python的qt库。3、显示原创 2022-06-12 18:12:58 · 3917 阅读 · 0 评论 -
上位机开发(架构设计)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和一般的上位机开发相比,固件下载软件的流程是比较清晰的。所谓的架构设计,一般都是从各种业务中提炼出主流程是什么。当业务比较少的时候,这个提炼的过程或许比较简单,发挥的作用也不是很大;但是如果业务比较多的话,这个架构设计还是很有必要的。甚至在某些情况下,架构设计直接决定了最后的产品质量、产品功能和产品性能。1、上位机设计 1)上位机这部分直接选择python开发 p原创 2022-06-12 07:47:44 · 3378 阅读 · 0 评论 -
上位机开发(需求分析)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 不同的嵌入式方案,下载方案也不一样。如果是51或者stm32之类的设备,一般需要用jtag进行下载;如果是linux之类的设备,直接将文件copy到sd卡,或者用网络下载即可。然而,对于stm32这一类的设备来说,使用jtag下载有很多麻烦,这方面后面会一一叙述。1、jtag下载的缺点 jtag占有开发板的面积较大,同时存在被人改写固件的危险,使用上面存在很大的隐患。2、需要下原创 2022-06-11 06:33:24 · 2243 阅读 · 0 评论 -
上位机开发(怎么开发上位机)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 要开发上位机,主要还是看具体的用途是什么。比如说,是不是负责烧入固件;是不是调制参数;是不是监控;是不是系统控制、是不是仿真等等。当然,不管是什么样的上位机开发,有一些软件的架构设计是相通的。比如说图形框架、配置文件、日志、mysql、串口、协议、控件等等,这部分可以先了解下。1、图形框架 图形框架方面,尽量选择简单的图形开发方法。原则上mfc、python ui、qt都可以,原创 2022-06-09 21:00:47 · 14186 阅读 · 0 评论 -
上位机开发(开篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 嵌入式硬件、软件本身如果是作为一个单独功能来说,很多时候已经满足要求了。然而在现实场景里面,一般在嵌入式设备的上游还有一个上位机。这个上位机可能是pc、也可能是linux soc,通信方式和开发语言也是多种多样,这个取决于具体的功能。1、上位机开发的几个用途 上位机的存在,主要是为了满足客户的若干需求。比如说,部分算法的运行只有在算力比较高的上位机才能运行,嵌入式设备需要升级版原创 2022-06-09 06:47:49 · 3712 阅读 · 0 评论 -
嵌入式软件设计(中期总结)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 陆陆续续写了近20篇嵌入式软件设计的blog,今天做了简单的归纳总结。对于stm32来说,主要精力还是应该放在控制领域;只有linux开发才有条件来开发算法等内容。1、嵌入式软件设计(怎么学)https://blog.csdn.net/feixiaoxing/article/details/125028278?spm=1001.2014.3001.55012、嵌入式软件设计(数据段-面试最容原创 2022-06-09 06:14:24 · 271 阅读 · 0 评论 -
嵌入式软件设计(liteos使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 liteos是华为推出的一款rtos,目前身边用的人不太多。不过,大家如果使用过ucos、freertos之类的操作系统,使用lite os也比较简单。正好开发板厂商也推出了对应的os移植版本,可以学习一下,以备将来不时之需。1、资料地址2、选择一款开发板比如基于stm32f103_指南者_开发板3、选择一个测试用例比如二值信号量同步4、通过jtag,确定入口函数main位置5、分析m原创 2022-06-07 23:45:01 · 1214 阅读 · 0 评论 -
嵌入式软件设计(ucos iii使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多人都知道ucos ii,因为邵贝贝翻译的那本书《嵌入式实时操作系统-ucos ii》影响还是很大的。只是很多人不知道的是,在ucos ii的基础上,后面micrium公司又开发了ucos iii。相比较ucos ii而言,ucos iii做了很多改进。比如说,之前ucos ii只能有64个任务,每个任务的优先级不能相同,ucos iii则没有这个限制。 目前,很多开发板厂商原创 2022-06-07 22:56:55 · 927 阅读 · 0 评论 -
嵌入式软件设计(rt-thread使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 大约在2012年的时候就听说过rt-thread,那个时候rt-thread还只是一个kernel,应用没有现在这么广泛。此外,当时主要的时间在学习raw-os(估计很多人都没听说过),这方面也没有投入精力来学习。最早的rt-thread主要就是一个kernel,集成了fatfs、lwip、shell工具的开源软件,使用也是很小众的。 再次用rt-thread,是因为发现他们根原创 2022-06-07 08:12:42 · 914 阅读 · 0 评论 -
嵌入式软件设计(freertos使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在读书的时候,ucos ii是学习的最多的rtos。但是在实际开发中,freertos使用最多。这当中估计还是商业的因素占了很大的比例,毕竟freertos本身是开源的操作系统,没有版权的问题,可以在商业产品中自由使用。 在mcu上面使用freertos很常见,github上也有很多的范例可以学习。学习freertos不在于学习设计os本身,而在于使用它。当然,如果学有余力,学原创 2022-06-06 08:56:11 · 1239 阅读 · 0 评论 -
嵌入式软件设计(运动控制系统和iot os)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 随着智能汽车、智能电子的普及,越来越多人注意到了rtos的重要意义。但是很多同学还是不太明白用mcu来做运动控制系统和iot os有什么区别,今天可以来谈一谈。1、运动控制系统 a)运动控制系统大部分是基于时间片来完成的,对时间片有精准的要求; b)运动控制需要不停检测堆栈等运行环境; c)部分不适合mcu ad采样的场景需要有fpga的配合; .原创 2022-06-05 22:09:27 · 444 阅读 · 0 评论 -
嵌入式软件设计(mcu内部flash读写)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 一般的mcu芯片,内部都集成了sram和flash。其中,sram主要是用来保存动态数据,而flash则是保存代码和只读数据。通常,flash的读取和烧入都是由jtag来完成的,但是jtag毕竟还是不太方便。实际开发中,一般都是在mcu里面先写一个boot程序,由这个boot程序完成新程序的烧入工作,这样就比较方便。这样就涉及到mcu内部flash的读写了。 mcu内部的fla原创 2022-06-05 16:01:11 · 2088 阅读 · 0 评论 -
嵌入式软件设计(看门狗)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 看门狗是嵌入式软件设计的重要一个环节。记得还在上海上班的时候,当时开发就涉及到看门狗的操作了,印象非常深刻。我们开发的设备因为是电信类的设备,本身电信系统使用的就是vxworks os,硬件也是双备份的,按道理非常稳定才对,但就是这样还是会经常发生系统程序跑飞的情况。因此,在mcu软件里面添加定时喂狗的操作代码是非常重要的。 watchdog,中文翻译为看门狗。它的原理非常简单原创 2022-06-05 13:15:14 · 982 阅读 · 0 评论 -
嵌入式软件设计(DMA数据搬运)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在mcu里面,数据搬运有两种方法,一种是cpu拷贝,一种是dma搬运。因为mcu本身没有mmu,所以直接输入源地址、目的地址、大小,就可以实现dma的数据搬运。当然,dma完成的时候,有两种方式告诉软件,一种是bit置位,一种是中断。今天我们使用的就是bit位查询的方式。1、查看main函数 简单阅读下代码,有三个函数值得注意,一个是DMA_Config函数,一个是DMA原创 2022-06-05 11:30:04 · 1380 阅读 · 0 评论 -
嵌入式软件设计(串口调试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 串口一般是大家学习嵌入式遇到的第一个硬件协议。串口比较简单,常用的协议有232、485这些。实际开发中,串口用途很多,比如打印调试、固件下载、参数设置、上位机通讯等等。今天,可以趁着这个机会学习一下串口的基本编写方法。1、查看main函数 整个流程还是比较清晰的,主要是USART_Config函数、get_data函数、send_data函数。从代码内容看,这应该是一个l原创 2022-06-05 09:58:34 · 630 阅读 · 0 评论 -
嵌入式软件设计(定时器中断)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 说定时器是嵌入式系统的心脏,一点也不为过。定时器,不仅使用在rtos领域,在任务的运行、等待、延时、资源的获取方面都有广泛的影响。之前学过外部输入中断,定时器本身一般也是作为中断来进行处理的。 定时器稍显复杂,可以通过直接阅读代码加以分析。1、分析main函数 从代码来看,主要由两部分。一部分是定时初始化函数,即SysTick_Init;另外一个就是Dela原创 2022-06-05 07:31:38 · 942 阅读 · 0 评论 -
嵌入式软件设计(外部中断输入)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前讨论了外部按键输入,主要是利用了轮询的方式。这种方式简单来说,就是一遍又一遍地重复查询验证。虽然概念上比较好理解,但是效率比较低,cpu实际上做了很多无用功。一种比较高效的方式其实是中断。 所谓中断,概念上不复杂。就是说,cpu在执行命令的时候,发现外部有信号处理,就会保存当前的寄存器,去优先处理外部的中断信号。此时,所有现场的寄存器都会被压入到堆栈里面。直到cpu处理好外原创 2022-06-04 22:16:17 · 426 阅读 · 0 评论 -
嵌入式软件设计(按键输入)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学习了led的输出功能之外,可以了解一下按键输入。按键,可以说是最简单又最常见的输入设备了。拿生活中的电子设备举例,比如小朋友学的电子琴,上面的琴键就可以看成是一个一个的按键输入。只要芯片具备了足够大的存储空间,在每一个按键按下时,调取对应的音频文件播放出来,就可以自己做一个简单的电子琴了。 除此之外,还有一个典型的按键设备可以拿来分析下,那就是计算器。一般来说,计算器上面除了原创 2022-06-04 21:10:55 · 559 阅读 · 0 评论 -
嵌入式软件设计(库函数调用实现点灯)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 所谓库函数版的点灯程序,主要是编译器工具厂商希望用户可以在编写代码的时候摆脱对具体芯片厂商的依赖。同样的mcu代码,可以在不改动或者极小改动的情况下完成mcu的替换。这就要保证固件顶层的接口都是一致的,底层的实现则都是mcu芯片厂商自己来完成的。1、函数库的样子 如图所示,这里的CMSIS和FWLIB目录都包含了库函数代码。尤其是FWLIB里面的c文件,每个文件都是以....原创 2022-06-04 18:03:14 · 319 阅读 · 0 评论 -
嵌入式软件设计(点灯与闪烁)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于嵌入式开发的同学来说,好像点灯是绕不过去的坎。学fpga,要学点灯;学soc,要学点灯;等学stm32的时候,还是要学点灯。在mcu系统中,除了mcu之外,还需要输入系统和输出系统来进行辅佐。输入系统主要是外部输入信息,比如说按键、模电信号等等。而输出信号也很多,屏幕输出、蜂鸣器、led灯等等。一些复杂的外设,往往兼顾了输入输出两个方面,比如串口、spi、iic、usb等等。原创 2022-06-04 16:01:27 · 653 阅读 · 0 评论 -
嵌入式软件设计(stm32快速上手)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有很多的培训机构在培训嵌入式的时候,一上来会讲很多的理论知识。其实这个时候要是能通过实操帮助学员快速入门、快速上手、快速看到效果,或许这才是最重要的。1、安装mdk软件 类似于visual studio软件,最好安装高版本的,比如5.23。 MDK Version 5 https://www2.keil.com/mdk52、安装stm32插件MDK5 Softwa原创 2022-06-01 22:52:00 · 731 阅读 · 0 评论 -
嵌入式软件设计(从学cpu到学soc、学操作系统)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】市场上的mcu、soc很多,作为用户的我们来说不可能掌握每一款芯片。那么这个时候就需要跳出具体的芯片,站在更高的维度来看嵌入式软件设计。1、先学cpu虽然芯片很多,但是cpu的种类是非常有限的。通常而言,市场上用的比较多的也就是x86、arm、mips、powerpc这四种。这其中,x86主要用于pc、arm用于嵌入式、mips多用于网络设备、powerp...原创 2022-05-31 07:13:43 · 460 阅读 · 0 评论 -
嵌入式软件设计(汇编语言——上电后的第一句执行语句)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】不知道现在的计算机专业是否还开设汇编语言这门课程,至少在20年前,也就是2002-2003年的时候,汇编语言作为《微机原理与接口技术》这门课程一起教授的。汇编语言和cpu相关,比如x86和arm,两者的差别很大。当然,就算同一种cpu,windows格式的汇编和linux格式的汇编也是有些许的差异。时至今日,很多计算机课程都被取消、或者改成了非专业课,比如汇编语言,这导致很多同学认为...原创 2022-05-30 06:53:14 · 353 阅读 · 0 评论 -
嵌入式软件设计(数据段——最容易面试被问倒的问题)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】和上位机程序不同,一般的嵌入式程序都是需要自己构建Makefile,自己构建linkfile的。很多同学可能有不同意见,他们会说,自己也做嵌入式但是却没有遇到过类似的场合。说实话,那是因为是IDE替我们做了。在嵌入式中,不管最后烧入到flash的是什么文件,一般都会包括数据段和代码段。代码段顾名思义,就是不同function、不同class编译而成的汇编指令。...原创 2022-05-29 22:47:11 · 344 阅读 · 0 评论 -
嵌入式软件设计(怎么学)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】嵌入式硬件是基础,但是嵌入式软件就非常多了。小到51、mcu,大到各种各样的soc,琳琅满目应有尽有。在市场上面,对应的开发板也很多,基本上之前谈到的这三类都有对应的开发板可供挑选。那么对于个人来说,应该怎么学,什么才是自己的核心竞争力?哪些是自己应该着力去培养的?在文章的最后我们会给出自己的答案。1、不仅仅是学硬件外设打开任何一家开发板的供应商,他们告诉...原创 2022-05-29 11:23:07 · 466 阅读 · 0 评论