imx6u开发学习笔记
mfgtool 上位机固化系统
直接点击Mfgtool2-eMMC-ddr512-eMMC.vbs即可在线固化
应用层操控硬件的两种方式
在 Linux 系统下,一切皆文件!应用层如何操控底层硬件,同样也是通过文件 I/O 的方式来实现。设备文件便是各种硬件设备向应用层提供的一个接口,应用层通过对设备文件的 I/O 操作
控硬件设备,譬如 LCD 显示屏、串口、按键、摄像头等等,所以设备文件其实是与硬件设备相互对应的。设备文件通常在/dev/目录下,我们也把/dev 目录下的文件称为设备节点。
设备节点并不是操控硬件设备的唯一途径,除此之外,我们还可以通过 sysfs 文件系统对硬件设备进行操控。
sysfs 文件系统
sysfs 是一个基于内存的文件系统,同 devfs、proc 文件系统一样,称为虚拟文件系统。它的
作用是将内核信息以文件的方式提供给应用层使用。
系统中所有的设备(对象)都会在/sys/devices 体现出来,是 sysfs 文件系统中最重要的目录结构;而/sys/bus、& ...
栈Stack学习
基本概念栈的定义 栈(Stack)是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。
栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。
栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构
栈的常见基本操作
InitStack(&S):初始化一个空栈S
StackEmpty(S):判断一个栈是否为空,若栈为空则返回true,否则返回false
Push(&S, x):进栈(栈的插入操作),若栈S未满,则将x加入使之成为新栈顶
Pop(&S, &x):出栈(栈的删除操作),若栈S非空,则弹出栈顶元素,并用x返回
GetTop(S, &x):读栈顶元素,若栈S非空,则用x返回栈顶元素
DestroyStack(&S):栈销毁,并释放S占用的存储空间(“&”表示引用调用)
栈的顺序存储结构栈的顺序存储 采用顺序存储的栈称为顺序栈,它利用一组地址连续的存储单元存放 ...
线性表List学习
线性表List
定义 List:零个或多个数据元素的有限序列。
线性表的数据集合为{a1,a2,…,an},假设每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。数据元素之间的关系是一对一的关系。
在较复杂的线性表中,一个数据元素可以由若干个数据项组成。在这种情况下,常把数据元素称为记录,含有大量记录的线性表又称为文件
顺序表基本概念
概念:用一组地址连续的存储单元依次存储线性表的数据元素,这种存储结构的线性表称为顺序表。
特点:逻辑上相邻的数据元素,物理次序也是相邻的。
只要确定好了存储线性表的起始位置,线性表中任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的储存结构,因为高级语言中的数组类型也是有随机存取的特性,所以通常我们都使用数组来描述数据结构中的顺序储存结构,用动态分配的一维数组表示线性表。
代码实现
头文件、链表结构体声明
12345678910#include<String>#include<iostre ...
MFC设计笔记
MFC界面教程*前言*本教程分为四部分:
创建工程
初步设计界面
编写控制代码(使用dll动态链接库)
美化界面
每个部分都有详细的步骤(第一步、第二步、第三步…..),在每部分的结尾都有一些可能会遇到的问题的*解决办法,可供参考。*
本次使用的软件为Visual Studio 2019(以下简称vs)。
-——————————————————————————————————————————–
*创建工程 *第一步:打开已经安装好的vs,点击创建新项目,如图1所示。
图1
第二步:如图2所示,点击搜索框,输入MFC,然后回车,选择MFC应用后,点击下一步。
图2
第三步:如果上一步没问题的话我们这时会看到配置新项目的窗口,这里我们把项目名称改成自己想要的名字,保存的位置可自己选择,设置好后点击创建。这里项目名称设置为MFC_APP,如图3所示。
图3
第四步:要是第三步没问题的话我们会看到MFC应用程 ...
开源车载终端计划
调研阶段 项目依据:智能车载终端
学习要点
Linux下嵌入式c开发
qt界面开发
加入摄像头,实现特定时刻显示(模拟倒车时,可看车后画面)
加入WiFi模块,实现联网。
项目时间预算2024年3月1日 - 2024年6月15日
具体时间安排
时间
计划
2024.3.1-2024.3.31
学习Linux下C开发,qt开发
2024.4.1-2024.4.30
完成qt界面开发
2024.5.1-2024.5.31
完成加入摄像头,wifi模块开发
2024.6.1-2024.6.15
完成项目技术梳理以及总结
各阶段计划具体说明
c开发:熟悉嵌入式Linux c应用开发流程,能够实现裸机跑程序。
qt开发:实现音乐播放、文件管理、相册、视频播放器、天气监视、壁纸切换、地图、系统设置
加入摄像头:实现倒车影像实时获取
wifi模块:实现实时联网
spyglass学习
1 Spyglass介绍 SpyGlass是目前业界唯一可靠的RTL Sign off解决方案,可以帮助客户在设计早期发现潜在问题,保证产品质量,极大的减少设计风险, 降低设计成本。SpyGlass已经成为集成电路开发过程中必不可少的RTL-QA工具。SpyGlass作为第三代RTL代码质量分析工具的领导者, 已经被全世界的IC设计公司和IP公司广泛采用。
1.1 Spyglass技术领先优势
业界唯一公认的RTL sign off解决方案
软IP出厂质量检验必备工具
TSMC IP 9000 采用SpyGlass
业界检查规则最全的检查工具,内含5000余条设计的规则
业界最全面的多时钟域CDC检查机制
业界最快速的早期DFT检查方法学
业界最先进的早期低功耗解决方案
业界唯一的SDC检查工具
可与设计流程上其它环节EDA工具无缝连接
支持深亚微米设计规则
1.2 SpyGlass子模块介绍
SpyGlass-Lint
支持多种规则检查,能发现诸如Latch等代码质量问题。
SpyGlass-CDC
支持所有常见的同步器;自动识别设计中复杂的握手信号和FIFO同步机制并对其进 ...
Typora使用教程
标题格式:*#+”空格”+标题(输入几个#就代表几级标题,最小六级标题)*
快捷键:Ctrl + 数字
文字删除线语法:~~ + 文字 + ~~快捷键:Alt + Shift + 5
可在文字上生成一道删除线
斜体语法:* + 文字 + * 或 _ + 文字 + _快捷键:Ctrl + i
加粗语法:** + 文字 + ** 或者 __ + 文字 +__快捷键:Ctrl + 文字
斜体+加粗语法:*** + 文字 + *** 或 ___ + 文字 + ___快捷键:无
下划线语法: + 文字 + 快捷键:Ctrl + u
高亮语法:== + 文字 + ==快捷键:无
下标水:H ~ 2 ~ O双氧水:H ~ 2 ~ O ~ 2
水:H2O
双氧水:H2O~2
上标面积:m^2^体积:m^3^
常用表情😄😆😵😭😰😅😢😤 😍😎😩👍👎💯👏🔔🎁❓💣 ❤️☕️🌀 🙇💋🙏💦 💩 ❗️ 💢
表格可以在—分割线加入:设置表格对齐方式“:——–“表示左对齐,”:———:“表示居中对齐,”———-:”表示右对 ...
图片无法显示的问题
下载插件
进入你博客的根目录,右键单击, 然后选择 git bash here 打开 git bash.
键入命令 npm install hexo-asset-image --save
修改插件
进入博客的根目录,然后下面顺序找到index.js:node_modules –> hexo-asset-image –> index.js
用VS Code 或者 记事本打开 index.js
在第 58 行,可以找到这么一行代码:
1$(this).attr('src', config.root + link + src);
把这一行代码改成下面这样
1$(this).attr('src', src);
保存文件
C++学习笔记
程序复杂度判断时间复杂度空间复杂度命名空间 namespace 在c++中,名称(name)可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大,名称互相冲突性的可能性越大。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入关键字namespace(命名空间/名字空间/名称空间)。
用法:using namespace xxxx
关键字 newnew创建类对象,使用完后需使用delete删除,跟申请内存类似。
释放单个空间直接用delete,连续释放多个空间用delete[].
12345CTest* pTest = new CTest();delete pTest;1)A a;在栈(stack)上分配空间;2)A *a;只是声明,还没有分配空间;3)A *a= new A;在堆(heap)上分配空间;
C++有三种方法创建对象
12345678910111213141516171819202122232425#include <iostream> using namesp ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment