自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (1)
  • 收藏
  • 关注

原创 未来职业的规划

待补充

2022-02-23 09:45:45 212

原创 关于未来职业的调研

待补充

2022-02-23 09:45:00 202

原创 现有工作的反思与下一步

待补充

2022-02-23 09:44:23 179

原创 现有工作的总结

待补充

2022-02-23 09:43:15 112

原创 【15】map、set、unordered_map、unordered_set

map、set、unordered_map、unordered_set在C++中使用频率较高的几种数据存储结构,因此,熟练掌握其基本的方法对于深入学习C++就先得尤为重要1、map2、set3、unordered_map4、unordered_set

2021-04-05 23:39:14 180

原创 【14】构造函数和析构函数

构造函数、默认构造函数、拷贝构造函数、深拷贝、浅拷贝、析构函、常成员函数,blabla一坨概念,云里雾里,今天我们就来好好理一理这些概念...1、构造函数#include "iostream"#include "string"using namespace std;class base {public: int a; base() {} base(int m_a) :a(m_a) { cout << "base()" << endl; } base

2021-04-04 14:31:50 2246 3

原创 【13】操作符重载

1、首先一个Demo#include "iostream"#include "string"using namespace std;class base {public: int a; base(int m_a) :a(m_a) { cout << "base()" << endl; }};int main(){ base a(10); base b(10); base c = a + b; cout << c.a <&l

2021-04-03 19:23:19 240

原创 嵌入式操作系统

参考:[1] 《嵌入式系统软件及操作系统》1、嵌入式操作系统的功能在嵌入式系统中工作的操作系统被称为EOS(Embedded Operating System,嵌入式操作系统),EOS的基本功能主要是:构建一个易于编程的虚拟平台; 系统资源的管理者。2、嵌入式操作系统的分类1. 按系统类型分商业化系统 专用系统 开放源代码系统2. 按相应时间分按照系统对响应时...

2019-10-06 21:24:58 2573 1

原创 牛客一行输入多个int型数的方法

案例:#include <iostream>#include <vector>#include <string>#include <sstream>using namespace std;int getNum(string &str, vector<int> &inputNum){ ist...

2019-09-27 16:51:09 666

原创 内存管理单元MMU

参考文献:[1] 《嵌入式系统软件和操作系统》本博客主要回答这几个问题:1. 虚拟地址和物理地址有什么关系?2. 如何通过设置MMU来控制虚拟地址到物理地址的转化3. MMU的内存访问权限机制4. TLB、Cache、Write buffer的原理,使用时的注意事项MMU提供一种内存保护的硬件机制。内存保护用来防止地址越界和防止操作越权。采用内存保护机制的每个应用程序都...

2019-09-27 11:42:11 554

原创 存储控制器

总线的使用方法是嵌入式底层开发的基础,了解它以后,再根据外设的具体特性,就可以驱动该外设了。

2019-09-27 11:40:25 281

原创 有符号数和无符号数混用的思考

参考文章:[1]C语言中无符号数和有符号数之间的运算[2]负数在计算机中怎样存储[3]二进制减法1、负数如何在计算机中存储?原码:10进制转换成2进制是原码,只不过正数的原码是本身符号位为0,负数的原码符号位为1(以下篇幅均以单字节为例:10进制1的原码是0000 0001,10进制-1的原码是1000 0001)。反码: 正数的反码是本身,负数的反码是负数的原码0变...

2019-09-25 11:02:51 961

原创 Windows访问Linux服务器共享文件夹--Samba

使用Linux服务器进行开发时,需要把文件传到服务器上,一般使用FileZilla等类似软件,但如果只是.c文件,每次只是修改了一点点,再使用这种软件倒腾一下,就很浪费时间了,所以我们使用Samba建立Linux共享文件夹以供在windows本地直接操作服务器的文件,提升工作效率。环境说明:Linux服务器:腾讯云,假设IP为40.111.111.111windows系统:win7...

2019-09-15 10:48:35 4776

原创 0-1背包问题

背包问题是一种求最优解的问题,我们可以使用动态规划(DP)和回溯法来解决这类问题参考文献:[1]最通俗易懂的01背包问题讲解动态规划动态规划(Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题。动态规划在查找有很多重叠子问题...

2019-09-09 08:56:43 272

原创 内存及字符串操作memcpy、memmove、strcpy、strcmp等常用标准库函数的实现

之前对于一些标准库函数都是拿来即用,没有考虑过这个函数的优缺点及具体的实现形式,在实习期间,一个标准库函数都是被二次封装了的,还是很有趣的。比如对于malloc函数,内部的形式是void *malloc_s(int ENUM_TYPE, int size),多了一个参数ENUM_TYPE,比如对于我们TM就是MALLOC_TMBUFFER,其原因是因为这样写方便对堆区内存进行统计,防止有的小组ma...

2019-09-05 09:57:46 296

原创 常用排序方法总结

面试常见问题,手撕快排、归并排序,或者手写一些查找算法,比如二分查找等。本片及下篇博客将分别总结常见的排序算法和查找算法,主要是基于C或者C++。这些问题本质都不难,只要勤加练习,充分理解,方能记于心中。1、冒泡排序#include "stdio.h"#include "stdlib.h"#include "stdbool.h"void bubbleSort(int ...

2019-09-03 16:50:10 257

原创 C宏定义函数#define Func() do{} while(0)

之前看到过一句话,说在C语言中几乎每一个#define宏定义都是代码的一个缺陷。但是之前看到有个项目,包括在Linux Kernel里面,在代码中都有使用#define Func() do{} while(0)这种结构来定义被多次调用的而函数。参考文章:[1]#define do{}while(0)妙用这个博客将对这个结构的宏定义函数进行总结和思考。1、#define宏定义函...

2019-09-02 11:25:42 1878

原创 C语言内联函数

参考博客:[1]内联函数 —— C 中关键字 inline 用法解析这篇文章写得很好了,本博客主要针对上一篇博客的不足进行补充,同时从C语言编译过程对内联和宏定义函数进行比对,总起两者的区别和优缺点。1、内联函数的使用方法测试代码:inlineTest.c#include "inlineTest.h"#include "stdio.h"#define addDef...

2019-09-02 11:16:14 828

原创 实习总结【1】

2019.06.24(礼拜一)(每个礼拜一好像要开部门大会,这个礼拜一刚来,下个礼拜应该要参加,估计要认识一大波人了...)办理入职手续(携带身份证,实习申请书)--> 签实习协议 (实习时间) --> 下午(三节课) --> 第一节课是公司介绍 --> 第二节课是保密安全教育 --> 第三节课是如何从一个学校人成为一个社会人。时间大约5点,部门HR过来叫...

2019-07-20 09:55:10 753

原创 实习总结【2】

这个礼拜的主要目标是:libxxx_xx_xxx.c代码重构优化,cleancode,减少圈复杂度,嵌套深度,代码行数;按照编程规范(Linux内核风格)优化变量命名等等;(这个文件可以作为最后答辩的成果进行展示) sdxx95模块环境熟悉,掌握相应的上机验证方法,为后续命令开发做准备(命令行开发得在第一个月末结束,最后成果之一); 项目代码整体架构了解;2019.07.01(礼拜...

2019-07-20 09:55:01 221

转载 Makefile入门【1】

对于驱动开发来说,掌握 Makefile书写是至关重要的,也许公司项目有人会专门负责Makefile书写,但你至少可以看得懂,编译出错时可以结合 Makefile 对问题进行快速定位,更何况万一哪天PL让你去写 Makefile ....所以,学习吧~参考教程:[1]C语言编译过程解析 && 动态(.so)\静态(.a)链接区别[2] Makefile经典教程1、...

2019-07-20 09:50:28 210

转载 xml基本语法【2】

go on...xml主要是以节点为单位进行数据存储的,数据的查询时候可以使用lua语言,lua是一种非常小巧的脚本工具,但是,他的字符串操作功能却非常强大。1、XML语法规则XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。(1)XML 文档必须有根元素XML 必须包含根元素,它是所有其他元素的父元素,比如以下实例中 root 就是根元素:&lt...

2019-07-14 14:52:45 410

转载 【1】xml介绍

最近在公司遇到了xml后缀的文件,看着和HTML很像,但两个基本是完全不一样的语言,在不同的方面发挥各自的作用。xml文件重在存储数据,而HTML重要显示。以下几篇博文将对xml语法进行系统的学习。PS:实际使用场景?存储操作系统的命令,比如show devXXX table键以后会自动补全显示show device,而这些命令字是存储在xml文件之中的,具体是怎么实现读取与查询的,还需要...

2019-07-14 12:54:21 167

原创 C语言编译过程解析 && 动态(.so)\静态(.a)链接区别

最近在工作中遇到编译so文件进行硬件调试的情况,遂对so文件产生了兴趣,特用这个周末研究先so文件的前世今生,以求从根源上理解它。参考文章:[1] 《嵌入式Linux开发教程(上册)》[2]Linux静态库.a与动态库.so的生成与区别、以及.so库文件的封装与使用1、首先准备三个子程序a.c#include <stdio.h>/************...

2019-07-13 16:28:25 2128 1

原创 Git使用教程

Git的命令每次都会忘记一些,笔记本还常常放在公司,后面挑时间写一片Git简单命令的记录把,方便自己日后查阅,亦或者可以帮助到各位。知乎上Git话题下面有的文章写得挺不错的:Git算不算程序员的必备技能?参考文章:[1]git-Book,没有比这个更好的帮助文档了,关键还是中文的,nice[2]《自个的笔记》1、Git简单介绍2、Git安装以及配置环境变量设置...

2019-07-07 09:33:20 957

原创 Linux文件I/O

待我6.19中期答辩完再来更新......参考文章:[1] 《嵌入式Linux开发教程(上册)》[2]Linux文件IO操作函数概述[3]详解linux文件IOLinux下的输入/输出(I/O),设计成“一切皆文件”,把各种各样的输出/出入(I/O)当成文件来操作,统一用文件I/O函数的形式提供给应用程序调用。1、Linux文件I/O概述Linux文件按其代表的具体...

2019-06-12 10:08:41 233

原创 Linux GDB使用总结

参考文献:[1]《嵌入式Linux教程(上册)》[2]Linux下gdb的安装及使用入门1、GDB介绍GBD(the GNU Project Debugger)是GNU发布的一个功能强大的UNIX程序调试工具,可以调试C、C++、Pascal等多种语言程序,可以在大多数UNIX和Microsoft windows变种上运行。GDB既可以本地调试也可以远程调试。通过GDB能够对...

2019-06-09 17:52:56 563

原创 Linux Shell脚本编程

继续...感觉之前博客每篇内容太长了,以后为了便于阅读,把每一篇博客拆分一下。3、脚本编程3.1 命令、函数与脚本返回值脚本也是一个程序,而每一个程序本本身都是一个真值表达式,它的真值是由其返回值决定的,故shell脚本应该返回一个值,若脚本未显示指定返回值,则自动使用最后一条命令的返回值;如果需要显示指定脚本的返回值,则需要用exit命令实现。#!/bin/shecho ...

2019-06-07 11:51:31 242

原创 Linux Shell编程初步

参考文献:[1] 《嵌入式Linux开发教程(上册)》[2]Shell 教程1、基础概念shell程序一般被称为脚本(script),他其实就是一组命令的集合,最简单的甚至可以简单的堆砌命令。这种脚本最明显的好处是重复一系列固定命令时减少敲击键盘的次数。脚本shell与C源码的区别:C需要将.c和.h文件通过编译工具处理成为二进制可执行文件才可以执行并看到结果 shel...

2019-06-06 22:13:06 1466 1

原创 Linux网络编程

今天是6.2号,到6.14号需要提交《中期检查报告》、《学术报告》,现在论文需要大修,至少6.15中期答辩后再次提交,怎么也要在赶在6.24号入职之前定稿投出去。先修改小论文、修改《中期检查报告》,再写《学术报告》,最后制作PPT,一件一件事情搞吧......痛苦啊......抽着时间把这篇论文补一下吧...几个名词的说明:协议:通常指某一个协议,一般由某一个或者一组文件如rfc/...

2019-06-01 23:01:36 627

原创 Linux多线程

待我慢慢总结...又是一个周末呀,明天又要开始码论文了,真是毫无意义......,这群老师真是浪费国家科研经费....参考文章:[1]线程与进程,多线程,多进程,线程并发,线程并行[2] 《嵌入式Linux开发教程(上册)》1、多线程概述线程(thread)是包含在进程内部的顺序执行,是进程中的实际运作单位,也就是系统能够调度的最小单位。一个进程中可以并发多条线程,...

2019-05-26 20:29:01 441

原创 Linux进程间通信

待我慢慢总结..........参考文章:[1]进程间的五种通信方式介绍[2] 《嵌入式Linux开发教程(上册)》进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、共享存储、消息队列、信号量、Socket、Streams等。其中 Socket和Streams支持不同主...

2019-05-20 20:18:27 231

原创 Linux进程

参考资料:[1] 《嵌入式Linux开发教程(上)周立功主编》[2]进程详解1. 进程环境多进程举例:比如同时运行QQ、微信、截图工具、视频播放器等多进程优点:每个进程互相独立,子进程崩溃不影响主程序的稳定性 通过增加CPU,就可以容易扩充性能 进程能直接获取系统的资源,总体能够达到的性能上限非常大1.1 程序与进程程序(program):是一个普通的文件,为...

2019-05-20 16:23:25 432

原创 Linux配置tftp和nfs

个人喜欢在下载的时候使用tftp命令,因为命令比较简单。但是在挂接文件的时候,就得用到nfs了。参考文章:[1]在Linux系统下通过TFTP或NFS烧写内核[2]Ubuntu16.04NFS配置与ARM开发板互传文件_挂载和卸载1、tftp1.1 什么是tftpTFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议...

2019-05-19 09:44:35 474

原创 jz2440 设置qt程序开机自启动

1. 进入/etc目录vi run.sh//把环境变量文件里面的内容放到这里//添加可执行程序语句,其中/usr是存放可执行程序armqt的位置./usr/armqtchmod +x run.sh 添加可执行属性2. vi inittab控制台上面添加执行run.sh的语句,控制台将无法初始化如果在下面添加的话,控制台应该可以出来3. reboot,成...

2019-05-07 09:55:28 386

原创 【内核移植】内核裁剪

step1:

2019-05-06 21:34:12 538

原创 【内核移植】添加yaffs文件系统到内核

step1:

2019-05-06 21:32:46 211

原创 【驱动移植】触摸屏驱动移植

step1 : 安装qt触摸屏支持tslibstep2 : 修改内核添加触摸屏支持此处所遇到的问题:(1)selected device is not a touchscreen I understandselected device is not a touchscreen I understand这是因为:在使用高版本内核的时候遇到“selected device ...

2019-05-06 21:29:01 707

原创 【驱动移植】DM9000网卡驱动移植

step1:

2019-05-06 21:26:52 335

原创 【文件系统制作】制作jffs文件系统

最近在写专利,中期答辩前的必备材料还差一篇论文......抽一个周五的晚上来完善一下之前留下的坑,慢慢来吧,先把这些弄完,希望可以在下月中旬之前把论文弄好,然后专心学习...好运1、Linux根文件系统基本目录/bin : 该目录存放所有用户都可以使用的、基本的命令,这些命令可以在挂接其他文件系统之前就可以使用,所以/bin目录必须跟文件系统在同一个分区中 /sbin : 该目录...

2019-05-06 21:24:19 681

PCB文件DRC检查规则

Altium Designer中DRC检查规则,此规则适用于FBGA等高速电路设计

2019-01-29

空空如也

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

TA关注的人

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