自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (19)
  • 收藏
  • 关注

原创 计算机冯诺伊曼体系结构和哈佛体系结构区别和处理器性能评判标准

计算机体系结构主要分为两类:冯·诺依曼结构和哈弗体系二者的区别就是程序空间和数据空间是否是一体的,冯·诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址空间是分开的。冯·诺依曼结构(早期的和现代的微处理器,intel的x86微处理器等)提前把要执行的程序从硬盘里面复制到内存中,然后在内存中读取指令后,然后再才读取程序需要的变量(也叫操作数)(全局变量或者局部变量,也都是...

2019-04-29 18:48:55 6154 1

原创 计算机程序存储分配详解和c语言函数调用过程概述

*进程和线程的区别 进程是操作系统分配资源的最小单位(比如分配的内存),而同一个进程内的线程共享这个资源。线程是系统分配时间片的最小单位。一个进程至少拥有一个线程。*程序与进程的区别 进程是动态的(代码,数据,PCB控制卡组成,有一定的生命周期),程序是静态的(指令的集合)。一个程序可以对应多个进程,但一个进程只能对应一个程序。比如C语言编译程序,会对应...

2019-04-29 10:58:20 1434

原创 计算机内存保护原理

内存保护单元(memory protection unit),简称:MPU。使用 MPU 可以设置不同存储区域的存储器访问特性(如只支持特权访问或全访问)和存储器属性(如可缓存、可共享),从而提高嵌入式系统的健壮性,使系统更加安全MPU,即内存保护单元,可以设置不同存储区域的存储器访问特性(如只支持特权访问或全访问)和存储器属性(如可缓存、可缓冲、可共享),对存储器(主要是内存和外设)提...

2019-04-28 10:35:27 5485

原创 嵌入式微处理器结构和上电启动到开始运行程序的过程讲解

我们首先来了解一下微处理器的结构:(原谅我把微处理器称为单片机,叫法有问题,我明天改,里面最核心运算单元称为cpu,可能这样术语不是很准确或者比较俗气,但是我都是为了我更加通熟易懂的解释清楚这些问题)现在的处理器内核基本上都是arm公司设计的,主要分为三种:context-A系列(属于应用处理器内核,主频很高,1Ghz左右(即每秒可以计算1亿次),运算性能很强,多核,但是中断响应慢毫秒级别...

2019-04-28 00:49:41 3075 4

原创 嵌入式处理器中Bootloader程序是什么以及IAP设备固件更新原理

Bootloader程序也是一个单片机程序,编译后也是一个hex文件,然后下载到内部flash的前面区域1.选择启动处在内部flash后面区域1的app1还是区域2的app2,然后把cpu运行指针加载到对应app的第一行代码那儿2.假如用户选择了读app2,但是cpu不断从flash(这里的flash应该是指外部flash,读取速度比较慢,就比如电脑的硬盘)那儿读取指令然后译码执行可能速度...

2019-04-27 00:34:10 1217 1

原创 c语言中__align()关键字的作用与内存对齐的原理

32位cpu为例,cpu在访问内存的时候是以一个字进行传输的(计算机中,一个机器字长就是cpu位数,32位cpu,四个字节为一个字),那么也就是说cpu读取数据每次都是四个字节四个字节的读取,计算机最初是从地址0开始寻址,那么寻址也就是4个字节4个字节的地址依次往后找。如果我们只需要读取一个字节的char型变量,那么计算机也是读取它所在的4个字节出来,然后提取出那个目标字节就行了,因为32位计算机...

2019-04-25 23:22:02 36380 3

原创 ASCII文件和bin二进制文件的区别是什么

程序中一个结构体struct A{char a;char b;bool c;}struct A v;v.a = 128;v.b = 16;v.c = 1;此时如果我们想把这个结构体变量v保存起来,就这样:W25QXX_Write((u8*)&v,ADDR,sizeof(v)); //保存在地址为ADDR的flash存储器里或者保存在一个文件里都...

2019-04-25 23:14:00 2901

原创 51单片机和stm32单片机数据类型占的字节大小

51单片机(8位):char 1int 2long 4float 4double 8指针类型所占字节和地址总线宽度有关系,8位机器的话就是1个字节stm32单片机(32位):char 1short 2int 4long 4float 4double 8指针类型所占字节和地址总线宽度有关系,32位机器的话就是4个字节...

2019-04-25 21:54:50 10339 5

原创 一段文件(或者flash芯片)数据如何加载进一个c语言结构体内

这是stm32h7汉字显示实验把一个结构体内的数据写入一个flash:W25QXX_Write((u8*)&ftinfo,FONTINFOADDR,sizeof(ftinfo)); //保存字库信息因为c语言一个结构体的数据(成员)在内存中式顺序连续存放的,那么我们只要知道这个结构体的首地址,就可以得到这个结构体变量的所有内容,然后写入外存(flash)指定的地址(FONTI...

2019-04-25 20:41:08 1006

原创 stm32h743单片机嵌入式学习笔记8-avi视频解码

*AVI 格式允许视频和音频交错在一起同步播放,支持 256 色和 RLE 压缩,但 AVI 文件并未限定压缩标准,AVI 仅仅是一个容器,用不同压缩算法生成的 AVI 文件,必须使用相应的解压缩算法才能播放出来。比如本章,我们使用的 AVI,其音频数据采用 16 位线性 PCM 格式(未压缩),而视频数据,则采用 MJPG 编码方式。* 视频文件信息头这里有很多我们要用到的信息,比如...

2019-04-25 11:17:44 3434

原创 stm32h743单片机嵌入式学习笔记7-FPU

* FPU 即浮点运算单元(Float Point Unit)。浮点运算,对于定点 CPU(没有 FPU 的 CPU)来说必须要按照 IEEE-754 标准的算法来完成运算,是相当耗费时间的。而对于有 FPU 的 CPU来说,浮点运算则只是几条指令的事情,速度相当快LDR.W R0, =0xE000ED88 ; 使能浮点运算 CP10,CP11LDR R1,[R0]ORR R1,R1,...

2019-04-25 00:45:30 2763 2

原创 stm32h743单片机嵌入式学习笔记6-压缩图片解码原理

软件解码:JPEG/JPG 的解码过程可以简单的概述为如下几个部分:1 、从文件头读出文件的相关信息。JPEG 文件数据分为文件头和图像数据两大部分,其中文件头记录了图像的版本、长宽、采样因子、量化表、哈夫曼表等重要信息。所以解码前必须将文件头信息读出,以备图像数据解码过程之用。2 、从图像数据流读取一个最小编码单元(MCU) ,并提取出里边的各个颜色分量单元。3 、将颜色分量...

2019-04-25 00:07:13 2007

原创 stm32h743单片机嵌入式学习笔记5-液晶屏汉字库原理

液晶屏使用的汉字库的原理:*每个汉字由多个点组成,即点阵,比如16号字体(实际上电脑对字号的叫法和点阵大小不一样,实际上这个电脑成为12号字体,原谅下面我也叫16号字体),就是16*16的点阵,即32个字节的数据,那么每一个字体的点阵由点阵取模软件可以得到*同号大小字体所有汉字取模后的点阵数据顺序往后存放,那么我们怎么找到每一个汉字对应的点阵数据呢,然后进行液晶屏画点函数即可显示出该函数,...

2019-04-24 17:35:54 1259 5

原创 stm32h743单片机嵌入式学习笔记4-文件系统FATFS

FAT32 文件系统 就是在格式化的时候 选择 FAT32 方式格式化。然后在 SD 卡存储区会产生一个类似于 目录 的文件系统。这样存入 SD 卡中的所有 文件 文件夹 都会在这个目录中找到。找到的是该文件或文件夹的 开始簇 和 结束簇 文件名 文件大小 文件类型(如.txt .bin .bmp)等等。所谓的这个目录 就是我们经常讲的 SD 卡根目录将整个 SD 卡根目录里的所有文件...

2019-04-24 10:39:27 1019

原创 stm32h743单片机嵌入式学习笔记3-内存管理原理

都是要实现 2 个函数:malloc 和 free;malloc 函数用于内存申请,free 函数用于内存释放。从上图可以看出,分块式内存管理由内存池和内存管理表两部分组成。内存池被等分为 n块,对应的内存管理表,大小也为 n,内存管理表的每一个项对应内存池的一块内存。内存管理表的项值代表的意义为:当该项值为 0 的时候,代表对应的内存块未被占用,当该项值非零的时候,代表该项对应的内...

2019-04-24 09:49:26 3875 3

原创 stm32h743单片机嵌入式学习笔记2-单片机获取电容触摸屏原理

* 单片机获取电容触摸屏(7寸 800x480为例)原理:液晶屏的显示和触摸是分开的两个东西,分开用数据线进行传输数据的,也就是他们两个是没有任何关系的。上图是液晶屏的触摸控制线应该是spi通信,用于返回触摸坐标数据的(那么触摸数据肯定是液晶上面有个IC芯片加工的),如果有触摸屏幕发生,T_PEN这根数据线会变成低电平,那么就可以通知单片机的引脚了,单片机可以通过外部io中断的方式获取...

2019-04-23 23:00:55 1181

原创 stm32h743单片机嵌入式学习笔记1-,DMA

Code:表示程序所占用 FLASH 的大小(FLASH)。RO-data:即 Read Only-data,表示程序定义的常量,如 const 类型(FLASH)。RW-data:即 Read Write-data,表示已被初始化的全局变量(SRAM)ZI-data:即 Zero Init-data,表示未被初始化的全局变量(SRAM)想了解具体stm32存储分配结果的,看我这篇文章,...

2019-04-23 20:02:08 675

原创 关于c语言的基础知识笔记

*typedef函数指针用法char(*pFun)(int); charglFun(inta){return;} voidmain() { pFun=glFun; (*pFun)(2); }所以说pFun就是一个实实在在的指针变量,而不是一种类型2.使用typedef更直观更方便形式1:typedef 返...

2019-04-23 19:38:51 308

原创 关于keil5开发stc8等51单片机程序和在线调试的步骤

首先在这里下载keil5的c51单片机版(keil5分为keil-arm版本(MDK),keil-c51版本)http://pan.baidu.com/s/1skMv2Nz密码:9env,参考了https://blog.csdn.net/feit2417/article/details/80890218然后安装,跟电脑上已经存在的keil装不同路径,然后发送自己的快捷方式到桌面即可(我感...

2019-04-21 15:23:16 17878

原创 51单片机实现菜单问题

这个思路应该是没问题的,但是需要设置的状态量啥的有点多,还有一些菜单项的id值啥的都不能冲突,还有那个按键扫描填充状态值函数,理论上是具有可实现性的,估计也得动会脑筋或者还会有各种bug。这个菜单系统对于具有深层次菜单项时候优势才明显,其实一般做的菜单,就用那个已经成熟且我多次用的结构体方式实现的就足够了,而且很容易实现。我现在就不需要花大量精力去思考这个如何完善和实现性了(而且emwein那...

2019-04-21 00:38:37 2806

原创 stc8单片机学习记录

*但是 STC8 就相对比较神奇,默认使用内部晶振,如果使用外部晶振的话,它是要在程序上设置,而不是软件上了。所以我们也特意做了对应的程序,给大家做参考!就相对比较神奇,它是要在程序上设置,而不是软件上了。所以我们也特意做了对应的程序,给大家做参考!*能作为输入的只有准双向io模式,不是真正的双向io,读取之前得先写1才行,真正的双向io不需要写1可以直接读取即可准双向口(弱上...

2019-04-21 00:37:13 4975

原创 IAPstc15w4k61s4单片机和STC8a8k64s4a12单片机

IAPstc15w4k61s4调试时候下载代码特别慢,而且正常下载时候擦除flash也很慢,STC8a8k64s4a12也是支持在线调试的,下载代码速度就特别快,正常下载代码时候擦除flash速度也稍微快一点下载时候如果出错,那就把下载最低波特率调低一点。调试下载时候如果出错,改一下IRC内部波特率那儿的设置,或者打开关闭单片机电源试试等等...

2019-04-20 23:05:33 3325

原创 概率论中两个独立连续随机变量X,Y,变量Z=X+Y的密度函数为X,Y的卷积与特征函数原理

X,Y若是独立的离散随机变量求Z=X+Y的分布因为变量Z=X+Y,也就是X,Y的取值是可以任意的,但是加起来一定得为Z,说明X取定了x,那么Y就只能取z-x即当X取了x,此时Y取z-x即可保证两者加起来等于z,也就是这两个取值必须同时发生,由于X,Y独立,有P(Z=z) = P(X=x) * P(Y=z-x),因为x的值我没有具体指定是多少,他可以是,负无穷,-2,-1,0,1,2,3...

2019-04-14 17:40:58 25155 4

原创 求多元函数极值的情况分类与对应的算法(机器学习中的目标函数优化和其他很多工程问题常用)

根据目标函数(当然是已知的了,如果是未知的下面很多算法都无法用)形式可分为凸函数规划和线性规划:一、凸函数(比如目标函数:z=x^2 + y^2) 1.无任何条件的极值 min z=x^2 + y^2 求解算法:理论手算:直接求偏导=0,解出驻点,然后用极值判断公...

2019-04-14 14:48:02 2568

qt对象树析构详细顺序

非QWidget类对象 和 QWidget类对象 析构过程还不太一样,这里分别进行讲解:(来源于qt底层源码分析)。 还有个方法也安全:子对象里用发射信号的方式,让父对象执行目标操作,这样为什么安全呢,因为父对象如果已经被析构了,大不了这个槽函数不执行,也不会崩溃的。 这个想法对于父对象是非QWidget类,是成立的,因为从上面分析一可以看出确实是先断开了所有信号槽的,但是对于父对象是QWidget类,是不对的,因为从上面分析二可以看出QWidget析构函数里就先删除孩子对象(此时信号槽还没有断开),此时孩子对象析构函数里发射信号,父对象仍然是可以执行的。这是这个问题的验证源码工程

2024-09-05

stm32CubeMX生成qemu能跑的工程

stm32CubeMX生成qemu能跑的工程,是用gcc,自己命令行操作的,完全ok

2022-08-19

arm cortex-a9程序在windows的qemu上跑

arm cortex-a9程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 https://blog.csdn.net/kangkanglhb88008/article/details/126394771?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126394771%22%2C%22source%22%3A%22kangkanglhb88008%22%7D

2022-08-17

stm32f407裸机程序在windows的qemu上跑

stm32f407裸机程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 https://blog.csdn.net/kangkanglhb88008/article/details/126394771?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126394771%22%2C%22source%22%3A%22kangkanglhb88008%22%7D

2022-08-17

windows用gcc编译stm32f103程序命令行控制stlink下载到板子

这个是我这个博客对应的工程源码,建议参考一下 https://mp.csdn.net/mp_blog/creation/success/125941483 实现 windows用gcc编译stm32f103程序命令行控制stlink下载到板子

2022-07-22

谷歌浏览器的撒拉查词插件,直接可用,来下载吧

1. 解压 2. 谷歌浏览器的扩展插件中,打开开发者模式,然后加载已有插件,选中解压的这个文件夹即可

2022-03-11

VxWorks官方参考资料汇总.zip

VxWorks官方参考资料汇总,想学习这个实时操作系统,就下载学习吧

2021-12-30

example-Qt4Qt5.zip

QScintilla使用的示例工程,直接打开构建,即可运行,库已经编译好了的

2021-11-18

qscintilla编译好的直接用.zip

省去了编译的麻烦步骤,直接使用即可。QScintilla还是很不错的,我们做自己的文本编辑器,代码编辑器,通过我的调研发现,这个是非常好的选择,我是想做个简单的IDE,所以选了这个,对了notepad++也是基于这个库做的,很不错的

2021-11-18

跟我一起写Makefile-陈皓.pdf

入门学习makefile嵌入式开发非常好的资料

2021-07-04

Elsevier爱思唯尔的word模板单栏双栏.zip

论文模板,不错,挺好用

2021-05-12

沙拉查词-非常好用.zip

沙拉查词-非常好用.zip

2021-04-07

cc科学计算器c++(qt)实现.zip

qt实现科学计算器包含四则运算括号小数正负数等详细源码,非常值得学习和进一步开发,对应csdn讲解博客,百度搜索:带括号的四则优先级运算的算法源码软件实现qt(支持浮点),即可找到这个博客

2021-02-05

vs2013-ucosii-project.zip

vs2013配置的ucosii工程,亲测可以直接打开运行,非常好,可以直接进行开发,没有任何问题,这样非常的方便,很不错,希望大家可以进步

2019-11-15

C++ 实现WebSocket 服务器 可运行.zip

非常不错,可以直接执行运行的,觉得比较好才分享给大家,里面是vs工程直接打开,.sln,值得下载,非常好的资源,牛逼啊,老铁

2019-11-14

uCOS-III中文翻译.zip

翻译的还不错,复制里面的代码,非常的方便,值得拥有

2019-10-01

uCOS-III英文原版OK.zip

ucosiii原版PDF,主要是可以复制里面的代码,很方便,还可以练习英语水平

2019-10-01

yaffs_m.rar

yaffs文件系统源码,制作yaffs文件系统时要用的,亲测,直接编译运行,特别好用

2019-09-12

高斯牛顿法和莱文伯格算法matlab源码,自己写的,完全可以用

用MATLAB实现 的,高斯牛顿法和莱文伯格算法matlab源码,自己写的,完全可以用

2019-05-06

qt 3d游戏开发框架

qt实现3d游戏开发框架,其中包括模型的导入,矩阵变换,简单的视角变换等等,可以进行进一步的开发。这里分为两个压缩包 cubeSimulate.rar压缩包是源码,你的电脑不一定可以直接运行,需要适当的移植,因为有些路径可能得改 myapp.rar压缩包是编译出来的.exe软件,没有任何路径问题,可以直接运行。 我建议你两个都下载,先下载myapp.rar看看运行效果,然后把cubeSimulate.rar压缩包源码给成功运行起来且进一步开发

2019-05-02

qt OpenGL 3d游戏开发框架

qt实现3d游戏开发框架,其中包括模型的导入,矩阵变换,简单的视角变换等等,可以进行进一步的开发。这里分为两个压缩包 cubeSimulate.rar压缩包是源码,你的电脑不一定可以直接运行,需要适当的移植,因为有些路径可能得改 myapp.rar压缩包是编译出来的.exe软件,没有任何路径问题,可以直接运行。 我建议你两个都下载,先下载myapp.rar看看运行效果,然后把cubeSimulate.rar压缩包源码给成功运行起来且进一步开发

2019-05-02

FPGA nios驱动LCD12864实现uart以及菜单功能

里面采用了菜单结构(这里编程需要一定得c语言编程技巧与数据结构知识),使得更加友好,功能层次也更明显,便于操作。 其中还包括了LCD12864液晶的字符输入,光标闪烁,删除字符等功能 这里我上传了整个工程源码(因为里面包括很多源码文件,我没法一一在这里贴出来), 包括Quartus的verilog源码和c语言源码, 你可能不能直接运行,需要修改一些配置路径,自己百度看看如何修改吧,有什么疑问也可以联系我 但是里面的源码的思路特别是c语言部分完全可以借鉴的 --------------------- 作者:biao2488890051 来源:CSDN 原文:https://blog.csdn.net/kangkanglhb88008/article/details/84073780 版权声明:本文为博主原创文章,转载请附上博文链接!

2018-11-14

ucos嵌入式实时操作系统程序源码

这个ucos教程源码是直接可以运行的,其中包括了所有api的使用

2018-06-10

空空如也

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

TA关注的人

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