自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

平凡的程序员

专注于嵌入式编程和图像处理

  • 博客(612)
  • 资源 (4)
  • 论坛 (1)
  • 收藏
  • 关注

原创 随想录(软件文档的重要性)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于大多数程序员来说,他们喜欢写代码、写算法、写多线程、写很多牛逼的功能,但是一谈到文档,就头疼,至少从心底来说,就很抵触。其实,这根本没有必要,相比较编写文档的时间,编写文档带来的益处是非常多的。1、文档会让自己有全局的软件视角(非常重要) 相比较具体的技术,软件开发中一般要编写很多的文档。需求文档、架构文档、详细设计文档、测试文档、交付文档、使用手册等等。每一个文档都有...

2021-07-31 10:22:20 43

原创 verilog学习记(tinyriscv mcu设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

2021-06-20 21:09:47 170

原创 ucc编译器(优化)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 bian'yi

2021-06-20 08:25:56 81

原创 ucc编译器(汇编生成)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有了中间代码,后面

2021-06-19 17:40:39 124

原创 ucc编译器(中间代码生成)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 suo

2021-06-19 17:07:55 79

原创 ucc编译器(语义分析)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 符合

2021-06-19 16:33:34 74

原创 ucc编译器(语法解析)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 做完词法fen

2021-06-19 16:00:12 96

原创 ucc编译器(词法分析)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

2021-06-19 15:06:29 89

原创 随想录(虚拟机实现)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 要在一个cpu上实现对另外一个cpu的仿真,虚拟机是重要的方式之一。比如我们使用的cpu一般是x86或者amd64,这个时候如果需要学习arm、mips、powerpc、openrisc,或者是riscv等其他cpu,虚拟机就是重要的方式。当然,如果你野心更大一点,设计自己的cpu,这个时候也需要设计一个虚拟机。看上去设计cpu是一个硬件开发的活,但是大部分的工作其实都和软件有关,如果保证...

2021-06-07 07:54:47 71

原创 linux驱动编写(设备树)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

2021-05-29 09:28:58 215

原创 随想录(定义自己的cpu和工具链)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很早就看过cpu的书,当时对cpu的实现还是有很大兴趣的。当时就在想,如果有一套自己的cpu,需要做哪些工作呢?带着这个疑问,搜搜索了一些资料,并且看了一些代码,还是有不少收获的。特别是在github上面看到了https://github.com/cassuto的工作,还是满震撼的。1、定义自己的指令集 这个是基础,没有自己的指令集,一切都是空谈。目前最火的riscv...

2021-05-27 06:31:33 69

原创 随想录(学习《许式伟的架构课》)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 市面上关于软件架构的课程大概有这么几种, 1、设计模式类,比如《设计模式》、《重构》; 2、具体技术类,比如《软件架构设计:大型网站技术架构与业务架构融合之道》、《代码大全》; 3、理论方法类,比如《软件架构》、《架构师修炼之道》; 4、软件工程类,比如《软件工程》 但是,一个公司里面的软件架构师究竟是怎么工作的,这方面的书籍还是比较少。五...

2021-05-02 07:03:41 150 1

原创 随想录(从DO-178C和ARINC653想到的)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 DO-178C是一个软件开发流程标准,类似于汽车行业的ISO26262,或者是一般软件公司的CMMI5。ARINC653是一个航空电子软件标准,多用来指航空操作系统,可以看成是rtos的航空版本。这两个概念,本来没什么关系,正好自己在芯片行业、汽车行业和航空行业都待过,所以这方面可以拿来说一说。1、关键安全软件的开发,是一个系统的开发,不是几个模块做好了,整个系统就安全了。...

2021-04-11 22:46:18 89

原创 python编程(编写opengl程序)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 opengl作为跨平台的代表,本身使用很多。记得云风,也就是之前网易的主程,他写过一个ejoy2d的游戏引擎,本身使用的就是opengl。因为不管是windows、linux,还是macos,本身都支持opengl接口,所以使用opengl还是非常方便的。传统的opengl只需要包括gl函数、glu函数、glut函数,就可以做很多的事情,使用起来还是非常方便的。 本身ope...

2021-03-08 18:52:03 522

原创 java分布式(java反汇编)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学过c或者cpp的同学都知道,exe或者dll、so、a文件都可以反汇编成对应的汇编文件。当然,这个对应的cpu也有关系。比如,如果是x86程序,那么只能翻译成x86的代码,如果是arm的程序,那么只能反汇编成对应的arm程序。这个时候,很多同学会说,如果是java的程序,有没有办法看到对应的反汇编代码。其实是有的。答案就是javap程序。1、编写简单的java代码impo...

2021-02-14 16:35:36 302 1

原创 python编程(paddle ocr)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在图像处里面,除了人脸识别、车牌识别、指纹识别这些应用比较成熟的领域之外,ocr也是很重要的一个领域。所谓的ocr,其实就是利用图像处理技术和深度学习,将图像中的文字识别出来,常见的应用有身份证识别、驾驶证识别、营业执照识别等等。有兴趣的同学,可以自己学习下ocr,做一些产品尝试,应用到具体的行业当中,比如说财务、教育、报关等领域,相信也可以有不错的收获、1、安装python...

2021-02-11 08:41:04 1318 1

原创 python编程(mysql操作)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前因为嵌入式开发,使用mysql的机会不多。但是使用了python之后,发现用python操作mysql之类的数据库还是非常方便的。不需要很多的代码,就可以让mysql来帮助我们完成一些事情,这个确实很方便。此外,如果有navicat之类的数据库管理工具辅助下,这就更方便了。1、python版本可以考虑python3,除非是比较老的机器选择python3也尽量使用pyt...

2021-01-30 17:25:06 197 1

原创 python编程(pyautogui库)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 现实软件测试中,有一部分是和软件界面测试相关的。这个时候,如果有这么一个工具,可以帮助我们方便地控制鼠标、键盘设备,那么是再好不过的。在python的第三方开放包里面,恰好有一个pyautogui可以帮助实现这一点。1、pyautogui的安装pip install pyautogui2、检验pyautogui是不是已经安装上了import pyautogu...

2021-01-28 23:13:02 406

原创 随想录(fpga处理图像的优缺点)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 fpga在很多人看来,是一个异类。说它是硬件,却需要编写RTL代码、综合和下载;说它是软件,还需要专门的fpga芯片,综合出来的也是门电路,还会涉及到时序、信号完整性的问题。但是,不管怎么说,用fpga在很多领域扮演非常重要的角色。图像处理就是很重要的一个环节。这个时候,有些同学可能就会有疑问,fpga的时钟频率没有比cpu高,为什么可以做到高效率又省电呢?我想可能有这么几个原因。...

2021-01-17 22:32:33 645 1

原创 python编程(python调用dll程序)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多人说python的效率比较低,主要是没有分清什么时候用python、什么时候用c。对于网络、gui或者业务层面的代码,用python是完全可以的。但是对于算法、演算或者性能相关的逻辑,必须用c或者c++实现。回到windows平台,用python调用dll程序,也是十分有必要的。用python调用dll不复杂,做好这几步就可以了,1、创建一个dll工程就按照vs2017的...

2021-01-15 21:35:43 654 1

原创 python编程(pyqt5的使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 最近一直在用qt5的使用,但是用的c++开发。之前在做python测试的时候,发现其实用python开发的效率挺高的。所以,一直在想,什么时候可以用python开发qt5,本来以为很复杂,没想到却很简单。当然,最重要的发现不是这个,原来python的很多第三方库竟然可以从豆瓣下载,速度非常快,这算是今天很大的一个收获。1、准备python环境 我这边安装的python3...

2021-01-13 21:16:15 255 1

原创 随想录(电机学习笔记)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在学习ros机器人之前,我其实不太了解电机,对嵌入式的所有知识也仅仅限于51单片机、stm32、arm soc。但是,因为工作的需要,或者说更多来自于个人的兴趣,发现mcu+电机,可以做这么多事情,还是蛮吃惊的。小到玩具、大到机械臂,里面都有电机的影子,还是蛮有意思的。趁着现在还有点印象,赶紧做个笔记,供后面使用。1、学习视频 个人觉得这家开发板厂商出的电机教学视频非常...

2021-01-09 14:07:40 192

原创 随想录(ros学习笔记)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 ros,全称robot operating system。说它是操作系统,其实也不全对,因为它实现的其实是一个类似于中间件的作用。使用的人,只需要在上面关注与自己算法的实现就可以了,不需要关注重复造轮子,因为通信、工具、仿真、通用算法、常用硬件驱动别人都替你做好了。如果是自己有这方面的兴趣,可以按照这个顺序来做,1、找一个靠谱的学习视频 在b站上面,有一个ros入门21...

2021-01-09 10:50:46 189

原创 深度学习实践与部署(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 大家都知道现在深度学习很火,不管是线上还是线下,大家都对深度学习充满了期待。一般来说,深度学习会包括这样几个过程,即数据准备、数据标记、训练、部署。如果说数据的准备和标记还是可控的话,那么训练和部署这个里面需要花费的时间就非常可观了。首先,选择什么样的模型,才能匹配业务的需要。另外一个,就是训练好的模型,怎样才能在设备上运行起来,这个就非常可观了。目前,关于部署这块主要有这么集中方法,...

2021-01-02 10:36:59 825

原创 verilog学习记(verilog翻译成c)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有的时候,写verilog代码时,不太确定是否正确,会写一段伪c代码来进行验证,比如module sum(input clk, input rst,output wire[15:0] cnt);reg[15:0] data;always @(posedge clk) if(rst) data <= 16'0000h; else if(data == 1...

2020-12-24 00:26:10 419

原创 随想录(redis的学习和使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】    很早就听说过redis,但是却没有好好使用过。记得读书的时候,大家用的比较多的是微软的access和sql server。等到2009年毕业的时候,linux开始流行起来,mysql使用的越来越多。后来,也就是2010以后,redis这种key-value的内存数据库也开始被打规模的使用。当然,redis的流行有很多原因,速度的优化、内存的扩大、内存条成本降

2020-12-20 18:31:07 128

原创 ucc编译器(x86移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】之前写过ucc编译器的文章,也就是[这一篇](https://blog.csdn.net/feixiaoxing/article/details/80169954)。后面等到重新看的时候,发现ucc的后端移植也是非常有意思。ucc的后端移植主要依赖于这么几个文件,1、emit.c这个是后端移植的入口...

2020-12-19 22:08:18 631 1

原创 随想录(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 347

原创 随想录(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 830

原创 随想录(关于dsp)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 dsp,也就是数字信号处理器。有的同学可能会觉得很陌生,其实在arm流行之前,dsp应用的场景还是非常多的。不管是电机控制领域,还是在图像处理领域,dsp都有它自己的应用领域。dsp本身是ti公司发明的,在性能上面很强,当然发热也是很厉害的,这方面需要注意下。1、dsp的类似 主要有三种,一种是28335这种单颗芯片的dsp;还有一种是j6芯片这种,里面有双核a15,...

2020-12-07 09:49:16 255

原创 随想录(尝试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 257

原创 随想录(上位机客户端的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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 440 1

原创 随想录(串口屏带来的启示)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 因为工作的关系,偶然间接触到一种叫串口屏的设备。串口屏就是利用串口对屏幕显示进行控制,需要显示的图片、动画可以提前放在屏幕的sd卡上面。也就是说,串口屏本身其实就是自带软件系统的。客户的控制系统本身不需要关注屏幕的渲染和更新。接着,联想到之前学习时用的tft屏幕,相比较而言,这种串口屏操作确实简单,使用也很方便。1、串口屏的用途 主要适合于工业使用场景,特别是那些变化...

2020-11-01 11:12:54 439 1

原创 随想录(单片机和步进电机学习笔记)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在学校的时候,虽然也学过过程控制,但自己对控制的理解并不深刻。知道后来有机会了解了电机,才发现电机控制才是工业生产的重要组成部分。在此过程中,找时间学习一下,并且结合之前的单片机知识,收获很多。1、步进电机和伺服电机 步进电机主要用于低速、负载比较低的场景,而伺服电机则相反。此外,在控制精度和时间上,伺服电机的优势也很明显。步进电机开环控制较多,不带编码器,而伺服电机...

2020-10-31 21:48:10 413 1

原创 随想录(程序员怎么用英文查资料)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学英文的好处,大家其实都是知道的。但是怎么用英文来查资料,很多朋友都没有好好想过。有些朋友也许会说,我英文不好,词汇量小,看不懂英文,怎么办?其实大可不必担心,我们查资料,主要是利用搜索引擎来找到我们想要找的东西就可以了,有很多现成的工具可以用的。1、学会用bing或者google找资料 目前来说,国内的百度、搜狗虽然用中文比较方便,但是从信息的质量来说,还是英文更高...

2020-10-30 21:37:09 416

原创 随想录(工业软件和消费级软件的区别)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前写代码的时候,开发的软件有消费级软件和工业软件。消费软件一般就是指手机、pc里面的娱乐软件、工具软件,而工业软件就是指电信软件、运动控制软件、车床软件、流水线非标软件等等。差别还是挺多的。1、要求不同 工业软件要求稳定,消费软件可以接受偶发的故障。2、成本不同 工业软件对成本极其敏感,消费软件一般是大众软件,成本会稍微宽裕一点。3、周...

2020-09-30 23:13:15 2037 1

原创 嵌入式操作系统内核原理和开发(等值block内存池设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 内存池设计是嵌入式系统的一个重要环节,之前我们也讨论过相关的内容。但是,看了rawos的代码之后,我觉得rawos的内存池设计更有特点。整个内存池的设计非常健壮,不但考虑了字节对齐的问题,而且还引入了等待调度机制,这是我所没有想到的。所以,在此我很愿意和大家分享这份优秀的代码。闲话

2020-08-12 09:16:49 4880 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 1183

原创 随想录(产品需求的几个注意点)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学喜欢写软件、开发功能,因为成功的运行一段程序总是给人很大的满足感。但是软件开发成功之后,是不是有人用,或者使用的人体验如何,他们不是很关心,这就有点本末倒置了。归根到底,技术还是要为人服务的,需求是技术最大的推动力,当然这中间还涉及到成本、周期、人员和资源的配置。 所以,对于有一定开发经验的朋友,可以从好技术慢慢向好产品的方向来转型,让别人喜欢用你的产品。...

2020-06-17 08:42:30 359

原创 随想录(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 342

png图片读取、保存代码

这是一个完整的png图片读取项目,包括了pnglib、zlib和win32工程,大家可以单步调试验证png格式的基本功能。

2012-07-08

arm9兼容软核代码

arm9兼容软核代码

2020-12-24

glibc1.09的源代码内容

这里是glibc早期的版本,对大家学习libc非常有帮助,希望大家积极下载、

2011-05-21

exceptional C++

这是关于c++非常好的一本书,相信对大家十分有用!

2009-05-07

费晓行的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除