自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (5)
  • 收藏
  • 关注

原创 01 C语言实现动态气泡碰撞和移动的效果,小球碰撞,Win7气泡壁纸,碰撞算法

想要实现多气泡相互碰撞的效果;想着这种在Win7壁纸中早就实现的效果,网上应该能找到源码的,但是,事实是我并没有找到能在实际产品中使用的,成熟的源码,没有办法,只有自己写。一开始出现一堆相互不重叠的,大小不一的气泡;或者一开始气泡从底下或者侧面出现,然后方向有一些随机的不同;自然和符合物理规律的碰撞效果;使用windows api、c语言、vsWin32 API 编程 —— 前言。

2023-01-29 11:38:01 159

原创 04 MJPEG协议简述和JPEG拆分

MJPEG能搜到的资料和源码比较少,我搜了一圈之后都不知道怎么从mjpeg流中拆分出一张张jpeg图片,也不知道MJPEG格式是用什么方式来组织JPEG图片序列的;

2022-12-26 15:47:41 43

原创 04 ARM Mali-V VPU硬件视频编解码驱动介绍V61

VPU的工具包包含有:VPU的闭源驱动二进制文件、PC仿真的工具软件(在电脑上用VPU的接口进行编码解码,速度很慢,不能达到实时的编解码速度)、使用VPU调用VPU接口的Demo源码文件,用这个Demo可以编解码一个视频流如H.265、H.264等,但不能播放MP4等有封装格式的多媒体文件,代码中没有解封装、解复用的功能。CPU针对VPU的驱动中,编解码一个视频流时,先创建一个session段,在里面做好内存映射,通常需要几十上百M内存的支持;编解码不同的视频流格式,需要给VPU加载不同的固件二进制文件。

2022-12-13 16:13:57 288

原创 07 Qt编译C语言时如何消除警告-Wunused-parameter,网上搜到的都是针对C++的

【代码】Qt编译C语言时如何消除警告-Wunused-parameter,网上搜到的都是针对C++的。

2022-12-08 20:05:00 239

原创 7 Keil C51 使用_getkey对scanf输入重定向,实现标准输入输出,getchar

8051 C51 使用_getkey对scanf输入重定向,实现标准输入输出,fgetc,getchar,printf,putchar

2022-12-04 22:20:34 204

原创 12 带音视频、多媒体、2D3D显示加速的嵌入式类芯片介绍

海思Hi3531D V100芯片简介,多通道4K编解码专用芯片(1)海思Hi3531DV100开发环境搭建mpp.tgz 媒体处理平台HIMPP(Hisi Media Process Platform)提供了多媒体相关API只有VPU没有GPU,没有2D3D显示加速海思SDK 学习 :000-海思HI35xx平台软件开发快速入门之背景知识Hi3519 AV100智能摄像机专用4K视频编解码芯片简介VPU视频编解码,DSP人工智能防抖,2D显示加速,

2022-12-02 21:12:51 660

原创 自己用操作系统四元素:进程线程管理、内存管理、文件系统和驱动一起拼一个RTOS

CSDN文章阅读地址:当前在Linux GCC环境下编译和运行,后续也会移植到Keil MDK上面去。

2022-11-27 21:51:39 163

原创 04 如何寻找嵌入式各行业项目,嵌入式行业信息网站大全

弱电类电子设备(36V以下)一般都是单片机、MCU、DSP、FPGA、SOC来驱动的,也有使用PC或工控机来驱动的。一般弱电作用偏向于信号电,而强电作用偏向于动力能源。机械类和强电类设备使用PLC编程,编程语言不是C语言,而是图形化的特定编程方法,选择嵌入式项目时可以排除此选项。嵌入式设备通常是无人照看的自运行设备,在开机后长期运行;嵌入式装置一般在设备中起到中枢控制作用。

2022-11-27 20:28:17 333

原创 01 将狼才鲸的嵌入式开源项目仓库链接

文章CSDN阅读地址:这里会列出我所有开源项目的计划,和该项目已完成的仓库链接。本文章会持续更新。

2022-11-26 23:16:08 434

原创 12 编译2022年最新的BusyBox rootfs 1.35.0源码,并用QEMU模拟器运行

前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。

2022-11-26 05:39:00 472

原创 11 编译2022年最新的Linux kernel 6.1源码,并用QEMU模拟器运行

前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。

2022-11-26 05:37:16 1264

原创 10 编译2022年最新的U-Boot v2023.01-rc2源码,并用QEMU模拟器运行

前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。

2022-11-26 05:35:01 544

原创 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行

前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。

2022-11-26 05:32:20 420

原创 08 ARM Cortex-A7汇编语言和指令介绍,ARM汇编语言名为UAL,由编译器指定指令集是ARM还是Thumb,不同指令集的汇编指令是一样的

ARM Cortex-A7是32位CPU核,使用A7的芯片有NXP的i.MX7、博通BCM2836等。A7支持ARM、Thumb、Thumb-2、ThumbEE指令集;ARM Cortex-A7 MPcore属于ARM v7-A架构,处理器支持1~4个核心。ARM Cortex-A7 MPCore架构基础知识写汇编代码时,一条语句并不能决定它使用的是哪种指令集,而是由编译器在编译时按最优化的方式决定它翻译成哪种指令;也可以在编译器中指定固定使用哪种指令;

2022-11-19 02:47:16 671

原创 07 树莓派裸机编程,并在Windows MSYS2 QEMU模拟器中运行

树莓派里面有GPU和ARM CPU,GPU先上电运行,然后再引导ARM运行树莓派的GPU底层固件(Bootloader)是闭源的,但可以在此基础上引导自己的U-Boot、Linux kernel,也可以不用U-Boot和Linux,直接引导裸机程序或者RTOS;这种引导方式和Xilinx ZYNQ类似,ARM和FPGA一个先启动一个后启动。一些其它的树莓派嵌入式相关的开源仓库:(1) 运行在 Raspberry Pi 上的小型嵌入式系统))

2022-11-16 22:03:59 118

原创 06 在MSYS2中编译树莓派裸机程序,并在QEMU中运行

repo=mingw64 中能找到/mingw64/bin/qemu-system-aarch64.exe、/mingw64/bin/qemu-system-arm.exe,也能找到安装方法:pacman -S mingw-w64-x86_64-qemu;但也不在ARM官方下载,我们在MSYS2中同样也能找到:在https://packages.msys2.org/base 中能搜到mingw-w64-arm-none-eabi-gcc和mingw-w64-arm-none-eabi-gdb。

2022-11-16 20:17:03 483

原创 05 MSYS2中安装树莓派32位和64位ARM交叉编译工具

ARM在Windows下自带的交叉编译工具为gcc-arm-none-eabi-10.3-2021.10-win32.exe,网页路径在https://developer.arm.com/downloads/-/gnu-rm ,交叉编译工具名为arm-none-eabi-gcc,我们不使用树莓派自带的交叉编译工具,而直接使用ARM的;因为树莓派没有在MinGW下编译它的交叉编译工具,而我也不想在Cygwin环境使用树莓派的Linux交叉编译工具。如果有需要,你也可以安装用于64位ARM的交叉编译工具。

2022-11-16 14:52:29 278

原创 04 在MSYS2中安装QEMU

在https://packages.msys2.org/package/ 中能找到mingw-w64-x86_64-qemu;在https://packages.msys2.org/package/mingw-w64-x86_64-qemu?repo=mingw64 中能找到/mingw64/bin/qemu-system-aarch64.exe、/mingw64/bin/qemu-system-arm.exe,也能找到安装方法:pacman -S mingw-w64-x86_64-qemu;

2022-11-16 14:49:55 197

原创 03 树莓派QEMU模拟器介绍

QEMU对树莓派的支持信息详见QEMU源码中的qemu\docs\system\arm\raspi.rst内容如下:QEMU支持的一些嵌入式设备中,树莓派支持的外设最多,甚至都支持了VideoCore firmware (property) 2D 3D显示加速和视频编解码,这和对Intel和AMD的支持差不多了;而其它的嵌入式芯片都没有支持2D显示加速、图片编解码、视频编解码。

2022-11-14 22:45:08 357

原创 01 QEMU仿真器-模拟器介绍

如果你也像我一样,虽然学过电子和硬件,也做过boot、系统移植、驱动和应用,但是并不喜欢随身带个板子;验证代码功能时为了节省调试时间,喜欢先用gcc写个纯逻辑的代码工程在PC上先测试一遍,调通逻辑后才上交叉编译工具或者在Keil中用硬件仿真器下到板子里运行。那么此时QEMU硬件模拟器是一个不错的选择,很多开发板都有QEMU版本的模拟器,可以直接把开发板的二进制执行文件通过QEMU来运行,有常用的外设和LCD液晶屏模块,普通功能可以直接运行,但是并不能仿真所有硬件驱动,特别是一些特殊的不通用的驱动。

2022-11-14 22:41:41 185

原创 项目介绍:嵌入式QEMU教程

简介:硬件平台均为QEMU模拟器。1. 当前裸机项目使用ARM Cortex-A7 32位内核、带有GPU(2D 3D显示加速、图片和音频视频编解码)的博通BCM2836芯片(树莓派2B同款硬件,但不使用树莓派的系统和软件)。2. 当前Linux项目使用ARM Versatile Express开发板,从源码编译运行U-Boot、Linux和根文件系统。

2022-11-14 22:38:09 286

原创 05 如何写Keil ARM M3汇编函数和汇编宏定义函数

如何写Keil ARM M3汇编函数和汇编宏定义函数

2022-11-10 20:29:50 323

原创 04 使用Keil模拟器和Debug (printf) Viewer窗口实现scanf输入,并进行串口收发回环,无需fgetc重定向

使用Keil模拟器和Debug (printf) Viewer窗口实现scanf输入,并进行串口收发回环,无需fgetc重定向

2022-11-10 14:14:17 225

原创 03 自己写Keil ARM M3汇编的boot,并成功引导main进行打印输出

不使用官方自带的boot,自己用汇编写boot并引导C语言main(),成功打印输出,并编写注释,看到系统启动过程中的每一步。

2022-11-08 22:55:08 132

原创 02 一些Keil ARM汇编伪指令

* 本文档描述Keil MDK ARM格式的汇编,而不是GNU格式的汇编。* ARM格式的汇编使用armasm编译器,伪指令多为大写;GNU格式使用armclang 集成编译器,伪指令多为小写。* Keil MDK针对ARM 32位CPU的汇编伪指令和Keil C51中针对8051的伪指令不同。

2022-11-08 22:47:16 153

原创 01 ARM Cortex-M3指令集汇总

ARM Cortex-M3指令集大全,指令集汇总,指令集介绍

2022-11-06 00:36:56 384

原创 ARM Cortex-M3从汇编到C,从Boot到应用的教程

* 本仓库计划实现的内容: * 描述Cortex-M3的指令集和通用寄存器。 * 针对M3内核,使用汇编从复位开始写boot引导C语言main()函数。 * 不使用任何芯片厂商提供的开发包,自己写Boot,自行移植C语言库函数,自己写所有驱动和应用。 * 移植一款RTOS操作系统。

2022-11-06 00:33:50 489

原创 6 8051使用Keil模拟器和调试输出窗口实现串口收发回环

本工程主要演示使用Keil创建一个默认工程,然后添加串口0的回环收发用例,在Keil的调试串口进行串口收发,并且可以使用虚拟串口,通过SSOM32与Keil通信来进行串口收发。

2022-10-30 19:15:27 290

原创 5 8051用汇编从Keil调试窗口中输出Hello world

8051用汇编从Keil调试窗口中输出Hello world

2022-10-30 01:53:15 119

原创 4 8051宏定义函数举例

8051宏定义函数举例

2022-10-30 01:45:43 160

原创 3 Cadence R8051XC2 芯片IP的寄存器介绍

Cadence R8051XC2 芯片IP的寄存器介绍

2022-10-30 00:35:32 212

原创 2 Keil自带的8051汇编boot源码解析注释

本工程主要演示使用Keil创建一个R8051XC2的默认工程,使用Keil自带的Boot汇编文件,然后对这个STARTUP.A51进行注释。

2022-10-29 23:41:08 450

原创 8051(c51)单片机从汇编到C语言,从Boot到应用实践教程

工程名作用直接从Keil调试窗口中输出Hello world对Keil自带的汇编boot源码进行注释这是一个8051教学仓库。不使用具体的硬件,直接使用Keil做模拟器,使用虚拟串口做输入输出,直接在电脑上编译运行,保证不被硬件问题卡住,从Keil官网下载Keil软件后再下载此仓库,打开仓库里的工程运行程序后能直接看到结果。重点介绍8051的寄存器、指令集、Keil伪指令、汇编Boot、汇编编程套路、C语言编程套路、软件框架、通信框架。

2022-10-29 23:35:06 840

原创 1 用Keil仿真8051并在软件中打印Hello world

本工程主要演示使用Keil创建一个R8051XC2的默认工程,使用Keil自带的Boot汇编文件,然后新建一个main.c文件,写一个printf函数 + 简单的串口0驱动,并能从软件窗口上看到printf的结果。创建工程的步骤略,你可以省掉这步,直接打开现有的工程。工程路径:本文档同级目录/01_proj_and_src/01_Hello_world/你可以直接双击打开 ./01_proj_and_src/01_Hello_world/01_Hello_world.uvproj工程。

2022-10-29 23:20:49 434

原创 01 32位Linux环境获取文件夹下的所有文件名

【代码】32位Linux环境获取文件夹下的所有文件名。

2022-10-23 13:38:28 430

原创 11 .ttf TTF字库文件格式详解

ttf文件存放的首先是描述自己有多上张表,然后是字体目录,接着具体每个字的字模可以任意顺序存储;支持矢量字库的板子,往往需要用软件解析字库的.ttf文件,硬件上只负责选择一个个具体的字模,所以也需要熟悉.ttf文件的存放格式。.ttf字体文件中首先描述有多少张表,然后第一个表是映射表cmap,里面可能包含多个子表,不同的编码方案有一张表。具体每个表的详细描述,可以使用ttf + 4个字母的表名进行搜索,也可以在下面链接中的苹果官网中查看。一个矢量字库的后缀往往是.ttf,大小有好几M。

2022-10-12 10:11:39 2231

原创 03 bmp图片生成及像素修改的源码

简介:使用Qt、Gcc(可以是Linux或者MinGW等)编译环境,使用C语言编写。自行生成并保存BMP文件,修改BMP文件中像素。

2022-10-08 23:59:22 493

原创 03 如何选择嵌入式练手项目、嵌入式开源项目大全,嵌入式产品举例

如何选择嵌入式练手项目、嵌入式开源项目大全

2022-06-19 22:36:45 2111

原创 07 ARM Cortex 汇编boot程序编写

ARM boot程序编写作者将狼才鲸创建日期2022-04-06Gitee文档源码地址:embedded-knowledge-wiki/ documents / 2.3.1.2_ARM编程.mdCSDN文章阅读地址:Bilibili视频讲解地址(待完成):才鲸嵌入式本篇文章是一系列文章中的一部分,主文档:才鲸嵌入式 / 嵌入式知识图谱WiKi一、ARM-MDK IDE集成开发环境下载MDK-arm软件社区版官方介绍(无代码大小限制,不能用于商用,需要先获取社区版许

2022-04-09 23:28:29 452

原创 06 C51 汇编boot程序编写,C51资源介绍

C51 boot程序编写,C51资源介绍作者将狼才鲸创建日期2022-04-09Gitee文档源码地址:embedded-knowledge-wiki/ documents / 2.3.1.1_c51编程.mdCSDN文章阅读地址:B站视频讲解(待完成):才鲸嵌入式这篇文章是一系列文章中的一部分,文章根入口:才鲸嵌入式 / 嵌入式知识图谱WiKi一、概述C51是8位CPU。顾名思义,它的某个总线是8位,或者一些总线是8位的。实际上它的数据总线是8位的,每条CPU指令

2022-04-09 16:45:59 3196

mp4 mkv解封装,视频文件转流文件,mp4、mkv文件转h264 hevc aac mp3程序.zip

将mp4和mkv文件解封装,将里面的h264 hevc aac mp3流生成对应的流文件,这些流文件可以用播放器播放出来,共9个.c文件,代码总共几千行,整个代码是借鉴的ffmpeg。需要在linux下使用gcc编译。

2020-07-22

音视频格式简述.pptx

对mp4、mkv、h264、aac的简述,总共15页,可以用作向领导汇报时的一个简短学习报告。文档里面不涉及到ffmpeg、编解码、音视频同步等内容,只是描述了一下文件和流格式的存储结构。

2020-07-22

嵌入式软件工程师笔试题

一、C语言基础 1、do{}while(); 和while(){};的区别? 答:do{}while();至少执行一次,while(){};可能一次也不会执行,前一个循环一遍再判断,后一个判断以后再循环 。 2、二维数组中的元素AA [ 3 ][ 7 ]的另外一种表示方法? 答:*(*(AA+3)+7; 3、计算一个字节里(byte)里面有多少bit被置1 答: int bit_set_counts_of_one_byte(char byte) { int count = 0;

2018-01-03

linux spi转串口驱动 zlg9518s芯片

linux spi转串口驱动 zlg9518s芯片 i.MX287开发板

2015-12-18

stm32f4xx官方库文件

stsw-stm32068.zip.rar STM32F4-Discovery_FW_V1.1.0

2014-05-30

空空如也

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

TA关注的人

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