
随想录
文章平均质量分 63
嵌入式-老费
计算机科班出身,09年研究生毕业即投入嵌入式开发工作,欢迎付费咨询,微信联系:xiaoxing_fei。
展开
-
随想录(exe和dll的相互调用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有一种编程方法,就是需要在exe和dll之间进行相互调用。比如整个软件的功能都是比较简单的,大部分功能的实现依赖于插件的实现,那么这个时候就需要在exe和dll之间实现函数的相互调用。经过综合考虑,目前一般的处理方法是这样的,1、exe-》dll exe调用dll其实比较简单的。因为在windows系统里面有默认的LoadLibrary函数,根据这个函数选择动态加载dll就...原创 2021-08-28 06:59:00 · 2447 阅读 · 0 评论 -
随想录(软件文档的重要性)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于大多数程序员来说,他们喜欢写代码、写算法、写多线程、写很多牛逼的功能,但是一谈到文档,就头疼,至少从心底来说,就很抵触。其实,这根本没有必要,相比较编写文档的时间,编写文档带来的益处是非常多的。1、文档会让自己有全局的软件视角(非常重要) 相比较具体的技术,软件开发中一般要编写很多的文档。需求文档、架构文档、详细设计文档、测试文档、交付文档、使用手册等等。每一个文档都有...原创 2021-07-31 10:22:20 · 1041 阅读 · 0 评论 -
随想录(虚拟机实现)
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 要在一个cpu上实现对另外一个cpu的仿真,虚拟机是重要的方式之一。比如我们使用的cpu一般是x86或者amd64,这个时候如果需要学习arm、mips、powerpc、openrisc,或者是riscv等其他cpu,虚拟机就是重要的方式。当然,如果你野心更大一点,设计自己的cpu,这个时候也需要设计一个虚拟机。看上去设计cpu是一个硬件开发的活,但是大部分的工作其实都和软件有关,如果保证...原创 2021-06-07 07:54:47 · 294 阅读 · 0 评论 -
随想录(定义自己的cpu和工具链)
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很早就看过cpu的书,当时对cpu的实现还是有很大兴趣的。当时就在想,如果有一套自己的cpu,需要做哪些工作呢?带着这个疑问,搜搜索了一些资料,并且看了一些代码,还是有不少收获的。特别是在github上面看到了https://github.com/cassuto的工作,还是满震撼的。1、定义自己的指令集 这个是基础,没有自己的指令集,一切都是空谈。目前最火的riscv...原创 2021-05-27 06:31:33 · 284 阅读 · 0 评论 -
随想录(学习《许式伟的架构课》)
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 市面上关于软件架构的课程大概有这么几种, 1、设计模式类,比如《设计模式》、《重构》; 2、具体技术类,比如《软件架构设计:大型网站技术架构与业务架构融合之道》、《代码大全》; 3、理论方法类,比如《软件架构》、《架构师修炼之道》; 4、软件工程类,比如《软件工程》 但是,一个公司里面的软件架构师究竟是怎么工作的,这方面的书籍还是比较少。五...原创 2021-05-02 07:03:41 · 725 阅读 · 1 评论 -
随想录(从DO-178C和ARINC653想到的)
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 DO-178C是一个软件开发流程标准,类似于汽车行业的ISO26262,或者是一般软件公司的CMMI5。ARINC653是一个航空电子软件标准,多用来指航空操作系统,可以看成是rtos的航空版本。这两个概念,本来没什么关系,正好自己在芯片行业、汽车行业和航空行业都待过,所以这方面可以拿来说一说。1、关键安全软件的开发,是一个系统的开发,不是几个模块做好了,整个系统就安全了。...原创 2021-04-11 22:46:18 · 1096 阅读 · 0 评论 -
随想录(fpga处理图像的优缺点)
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 fpga在很多人看来,是一个异类。说它是硬件,却需要编写RTL代码、综合和下载;说它是软件,还需要专门的fpga芯片,综合出来的也是门电路,还会涉及到时序、信号完整性的问题。但是,不管怎么说,用fpga在很多领域扮演非常重要的角色。图像处理就是很重要的一个环节。这个时候,有些同学可能就会有疑问,fpga的时钟频率没有比cpu高,为什么可以做到高效率又省电呢?我想可能有这么几个原因。...原创 2021-01-17 22:32:33 · 2516 阅读 · 1 评论 -
随想录(电机学习笔记)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在学习ros机器人之前,我其实不太了解电机,对嵌入式的所有知识也仅仅限于51单片机、stm32、arm soc。但是,因为工作的需要,或者说更多来自于个人的兴趣,发现mcu+电机,可以做这么多事情,还是蛮吃惊的。小到玩具、大到机械臂,里面都有电机的影子,还是蛮有意思的。趁着现在还有点印象,赶紧做个笔记,供后面使用。1、学习视频 个人觉得这家开发板厂商出的电机教学视频非常...原创 2021-01-09 14:07:40 · 570 阅读 · 0 评论 -
随想录(ros学习笔记)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 ros,全称robot operating system。说它是操作系统,其实也不全对,因为它实现的其实是一个类似于中间件的作用。使用的人,只需要在上面关注与自己算法的实现就可以了,不需要关注重复造轮子,因为通信、工具、仿真、通用算法、常用硬件驱动别人都替你做好了。如果是自己有这方面的兴趣,可以按照这个顺序来做,1、找一个靠谱的学习视频 在b站上面,有一个ros入门21...原创 2021-01-09 10:50:46 · 559 阅读 · 0 评论 -
随想录(redis的学习和使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很早就听说过redis,但是却没有好好使用过。记得读书的时候,大家用的比较多的是微软的access和sql server。等到2009年毕业的时候,linux开始流行起来,mysql使用的越来越多。后来,也就是2010以后,redis这种key-value的内存数据库也开始被打规模的使用。当然,redis的流行有很多原因,速度的优化、内存的扩大、内存条成本降原创 2020-12-20 18:31:07 · 290 阅读 · 0 评论 -
随想录(hls加速技术)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 熟悉xilinx vivado技术的同学都知道,vivado软件除了用verilog设计ip、用sdk开发软件外,还可以用hls开发ip的。目前来说,开发fpga似乎是硬件工程师的专利,但是软件工程师也可以用hls开发ip核的。ip核除了实现硬件协议外,另外一个重要的作用就是算法加速。1、hls的开发语言可以是c和c++语言2、hls直接生成ip核c/c++也...原创 2020-12-17 10:11:05 · 1069 阅读 · 0 评论 -
随想录(sil、hil、mil测试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于安全系统,或者控制系统来说,sil、hil、mil测试是三种基本测试。1、sil sil全称software in loop,也就是软件在环测试。这种测试本质上可以看成是一种软件仿真测试。比如说,一个qt软件,本来是要在嵌入式系统运行的,那么我可以在ubuntu上先用x86平台完成ui开发,然后port到arm平台,这都是可以的。再比如,一个英文单词查询的电子词典...原创 2020-12-14 09:19:45 · 8994 阅读 · 2 评论 -
随想录(关于dsp)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 dsp,也就是数字信号处理器。有的同学可能会觉得很陌生,其实在arm流行之前,dsp应用的场景还是非常多的。不管是电机控制领域,还是在图像处理领域,dsp都有它自己的应用领域。dsp本身是ti公司发明的,在性能上面很强,当然发热也是很厉害的,这方面需要注意下。1、dsp的类似 主要有三种,一种是28335这种单颗芯片的dsp;还有一种是j6芯片这种,里面有双核a15,...原创 2020-12-07 09:49:16 · 1044 阅读 · 0 评论 -
随想录(尝试wsl安装)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 无意中和前同事沟通的过程中,发现win10上有wsl这么一个东西。wsl,全称windows subsystem for linux,相当于在windows上面就可以开发linux程序,不需要安装virtualbox、vmware这类的虚拟机,实际使用下来还是蛮方便的。为了防止以后忘记,先将已经获得的使用经验记录下来。1、wsl1和wsl2 wsl目前有wsl1、ws...原创 2020-11-29 08:45:10 · 702 阅读 · 1 评论 -
随想录(上位机客户端的编写)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 说到上位机的客户端编写,大约15年左右,那个时候还是有很多工具来完成这个任务的。我印象比较深的,有visual basic、delphi、borland c++ bilder、java awt等等。当然时至今日,真的用的比较多的还是MFC和QT、C# Form。1、MFC MFC很早就有了,至少在我2003年上大学的时候,那个时候visual studio 6....原创 2020-11-28 23:41:18 · 837 阅读 · 1 评论 -
随想录(串口屏带来的启示)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 因为工作的关系,偶然间接触到一种叫串口屏的设备。串口屏就是利用串口对屏幕显示进行控制,需要显示的图片、动画可以提前放在屏幕的sd卡上面。也就是说,串口屏本身其实就是自带软件系统的。客户的控制系统本身不需要关注屏幕的渲染和更新。接着,联想到之前学习时用的tft屏幕,相比较而言,这种串口屏操作确实简单,使用也很方便。1、串口屏的用途 主要适合于工业使用场景,特别是那些变化...原创 2020-11-01 11:12:54 · 1431 阅读 · 1 评论 -
随想录(单片机和步进电机学习笔记)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在学校的时候,虽然也学过过程控制,但自己对控制的理解并不深刻。知道后来有机会了解了电机,才发现电机控制才是工业生产的重要组成部分。在此过程中,找时间学习一下,并且结合之前的单片机知识,收获很多。1、步进电机和伺服电机 步进电机主要用于低速、负载比较低的场景,而伺服电机则相反。此外,在控制精度和时间上,伺服电机的优势也很明显。步进电机开环控制较多,不带编码器,而伺服电机...原创 2020-10-31 21:48:10 · 978 阅读 · 1 评论 -
随想录(程序员怎么用英文查资料)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学英文的好处,大家其实都是知道的。但是怎么用英文来查资料,很多朋友都没有好好想过。有些朋友也许会说,我英文不好,词汇量小,看不懂英文,怎么办?其实大可不必担心,我们查资料,主要是利用搜索引擎来找到我们想要找的东西就可以了,有很多现成的工具可以用的。1、学会用bing或者google找资料 目前来说,国内的百度、搜狗虽然用中文比较方便,但是从信息的质量来说,还是英文更高...原创 2020-10-30 21:37:09 · 760 阅读 · 0 评论 -
随想录(工业软件和消费级软件的区别)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前写代码的时候,开发的软件有消费级软件和工业软件。消费软件一般就是指手机、pc里面的娱乐软件、工具软件,而工业软件就是指电信软件、运动控制软件、车床软件、流水线非标软件等等。差别还是挺多的。1、要求不同 工业软件要求稳定,消费软件可以接受偶发的故障。2、成本不同 工业软件对成本极其敏感,消费软件一般是大众软件,成本会稍微宽裕一点。3、周...原创 2020-09-30 23:13:15 · 3690 阅读 · 1 评论 -
随想录(串级PID的学习)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 PID以及串级PID在实际生产中使用比较广泛,今天看了这篇文章,并结合过往的经验做一个笔记。1、串级PID的基础是PID,所以在此之前需要了解差分、积分和微分的具体含义。2、串级PID是按照从里向外,一层一层进行调试的。在确定好了内层Kp、Ki、Kd的数值后,再进一步确定外层的参数。3、串级PID内外层更新的周期是不一样的,拿两级PID距离,内部的输出是5ms一次,而外...原创 2020-07-31 08:54:56 · 2577 阅读 · 0 评论 -
随想录(scons编译)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 scons是基于python的一种编译方法。所有编译脚本的编写,和编写python脚本是一样的。除了本身的逻辑非常简单之外,用户还可以在编译代码的同时,利用python脚本处理很多额外的工作,比如代码搬家、merge、生成image等等。1、安装sconsshell> sudo apt-get install scons2、确认scons安装正确sh...原创 2020-05-25 09:00:17 · 669 阅读 · 0 评论 -
随想录(OllyDbg和IDA Pro的配合使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在软件处理中,OllyDbg和IDA Pro一般是配合使用的。前者主要用于动态的程序调试,后者主要用于静态的代码分析。那么,如果遇到实际程序,该怎么处理呢?逻辑一般是这样的,1、首先用OllyDbg验证此程序是否能够运行 分析程序的前提一般是判断程序是否可以...原创 2020-04-06 21:27:08 · 3133 阅读 · 0 评论 -
随想录(windows上cuda环境安装)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 cuda是nvidia公司用于gpu开发的一门语言。它来自于c,但是又对c进行了扩展。目前cuda广泛用于高性能计算、深度学习训练、嵌入式设备等各种应用场景。然而cuda入门容易,深入困难,如果只是基本概念学习,不足以对其有深刻的认识,因此最好结合具体的代码来一起开发,才能真正...原创 2020-04-06 16:07:05 · 740 阅读 · 0 评论 -
随想录(scrapy入门)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多时候需要从网站上面下载一些数据,没有爬虫的帮助其实还是很困难的。好在现在有各种各样的爬虫框架,程序员不需要自己编写很多的代码就可以构建一个简单的爬虫代码,十分方便。不管是自己喜欢的电影,还是时事新闻、视频,有一个爬虫不停帮你抓取最新消息,体验还是很不错的。本文参考了这个链接...原创 2020-04-06 15:31:30 · 356 阅读 · 0 评论 -
随想录(SEO笔记)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 大家都知道,搜索引擎上面的广告都是需要付费的。用户每单击一次,SE就要对商家收费一次。这是因为,每一次单击,都意味着SE对商家进行了流量输送,这些流量都是有代价的。所以说互联网上的生意大部分都是流量的生意,赚的都是广告的钱、会员的钱、电商的钱。SEO的门槛不高,但是要做好不容易...原创 2020-03-23 22:12:19 · 488 阅读 · 0 评论 -
随想录(386cpu保护模式)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 写过操作系统的同学都知道,编写os除了基础的操作系统理论之外,最大的工作就是需要阅读cpu手册。注意,这里提到的是cpu手册,不是soc手册。比如说,s3c2416是三星的芯片,大家拿到的一般是这款芯片的soc手册,但是如果需要查找arm的相关信息,还是应该去arm的官网看ar...原创 2020-03-15 22:02:30 · 1175 阅读 · 0 评论 -
随想录(反调试技术)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和代码逆向不同的是,反调试的最终目的还是增加逆向工作者的时间和成本,让调试者失去耐心、放弃调试。同时,对调试过程中的常用套路进行重点监控、设防,不让逆向者轻而易举攻破软件。1、字符串加密 大部分逆向软件的同学都是使用OllyDbg来调试软件的。通常情况下,他...原创 2020-03-08 12:43:21 · 589 阅读 · 0 评论 -
随想录(软件逆向与OllyDbg)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学习过c语言的同学都知道,在代码编写完成之后,就可以用调试器对程序进行单步调试了。在windows上面,有windbg调试器;在linux平台上面,有gdb调试器。可是大家有没有想过,如果没有源代码,比如需要研究某一个病毒软件,这个时候怎么进行分析呢?OllyDbg软件就可以帮...原创 2020-03-02 10:24:59 · 1327 阅读 · 0 评论 -
随想录(程序调试与dll注入)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有这样一些场景,我们需要监控一些进程是否运行,内存数据是否正确。但是,与此同时,原来的程序不能被修改,或者无法修改,这种情况类似于gdb。今天,正好在网上看到类似的一篇文章,链接地址在这。主要用到了这么几个API,即1、获取窗口句柄FindWindowW...原创 2020-02-28 17:38:53 · 493 阅读 · 0 评论 -
随想录(形式化验证小结)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 形式化验证,英文是formal verification,是验证软硬件逻辑很重要的一种方法。特别是对于芯片开发、高安全性的系统开发来说,是非常必要。这主要是因为系统失败的代价很高,传统的测试也无法验证整个系统的安全性和可靠性。1、目前主要的测试方法 当前,验...原创 2020-02-18 10:14:17 · 2011 阅读 · 0 评论 -
随想录(用好Visual Studio开发平台)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 从2003年上大学,第一次写下"Hello, world",到现在已经过去了17年。还记得第一次编写代码时,使用的开发软件就是VS6。对于很多人来说,这是一个不能再古老的软件了。不像现在脚本使用这么普及,那个时候大部分的编译器还是c、c++编译器为主。除了微软的vs,还有bor...原创 2020-01-23 16:31:55 · 2174 阅读 · 0 评论 -
随想录(从技术到业务的转变)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 最近形势不好,这基本是大家的共识了。不管是外面的贸易战,还是现在的制造业萎缩、升级转型,越来越多的裁员搞得大家人心惶惶的。说到程序员35岁危机,其实这也不是软件工程师特有的,中年危机是广泛存在的。一方面生活对自己的要求越来越高,家里开支越来越大;另外一方面个人精力有限、无法在专...原创 2020-01-18 11:32:49 · 1126 阅读 · 0 评论 -
随想录(安全关键系统和rtos)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 safety critical system,国内一般翻译成安全关键系统。安全,就是说系统必须能够长时间稳定运行、并且不可以发生故障,同时任何时候都不能对人造成伤害(包括失效的情况下),比如飞机控制系统、电梯系统、汽车自动驾驶系统等等。但是,我们都知道,即使代码测试了很长时间,...原创 2020-01-17 21:07:16 · 1411 阅读 · 0 评论 -
随想录(easyx开发上位机)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 easyx是模仿graphics开发的一个图形库,因为它除了绘制图像之外,还支持键盘和鼠标的输入,所以事实上可以用来做一个实用的简单上位机。为了实现这个目的,可以分成两个步骤来完成。第一步,绘制基本图像,第二部处理鼠标消息。1、绘制图像 如果只是简单的图像,...原创 2019-12-29 15:19:27 · 912 阅读 · 1 评论 -
随想录(快速使用lua)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前也学过lua、看过lua,但是在业务上用lua用的不多。目前就大环境来看,游戏领域使用lua的情况比较普遍。其他行业使用也有一些,但都是小范围使用,比如虚拟机仿真等等。lua特别适合底层比较稳定、但是业务经常变更的场合。1、添加lua到工程里面 建议直接...原创 2019-12-28 18:55:27 · 721 阅读 · 1 评论 -
随想录(vc仿真下的嵌入式开发)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 做嵌入式开发,如果有单板并且可以单步调试,那么开发起来还是不复杂的。另外一种,如果没有单板的话,用qemu类似的仿真软件开发也是可以的。就怕有一种情况,qemu无法使用、无法用jtag单步调试、硬件资源短缺、同时大部分又习惯在windows开发,这个时候可以用vc来做。...原创 2019-12-21 09:01:19 · 806 阅读 · 1 评论 -
随想录(MFC开发有感)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 虽然之前也写过一些mfc的文章,但是时间长了也会忘了。对于很多同学来说,用C#开发图形界面又快又方便。但是像我们这些从VC6.0就开始写软件的老人来讲,用MFC开发代码还是挺顺手的。今天看到MFC从VS2017版本开始,已经不是默认安装的了,心中还是有一些感慨的。1、M...原创 2019-11-09 08:16:09 · 857 阅读 · 0 评论 -
随想录(gcc生成的中间语言、汇编代码)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学过编译原理的朋友都知道,为了让编译器可以生成多种cpu后端代码,在这之前一般先将语法树翻译成中间语言。中间语言的概念大家应该不陌生。只是很多人虽然听说过中间语言,但是却未必看过编译器生成的中间语言是什么样子的。恰好,gcc编译器提供了这样的功能。只要我们编译的时候加上-fdum...原创 2019-10-24 23:53:34 · 2658 阅读 · 3 评论 -
随想录(招聘怎样的员工)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对很多IT公司来说,招聘都是一件大事。无论是校园招聘、社会招聘,公司都会投入到很大的人力和财力来开展招聘工作。一个公司的人员构成,很大程度上决定了这个公司的业务形态、发展模式和未来前景,小公司是这样,大公司也是这样。一般来说,IT招聘的人员很多很杂,比如说有销售、商务、研发、原创 2012-03-04 13:27:21 · 6540 阅读 · 24 评论 -
随想录(读书和选书)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 现代的社会当中,大家的工作都很匆忙,读书的机会还真是不多。相比较而言,人们的获取消息的方式更加多样,比如网络、电视、杂志等等。但是就我个人而言,我还是习惯与从书中获取信息。特别是一些深刻的思想和理论,这些内容根本不可能从网络和杂志获取。除非经过反复的思考和斟酌,否则你对知识和原创 2012-03-24 21:21:31 · 4785 阅读 · 6 评论