- 博客(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
原创 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
原创 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
原创 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
原创 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
原创 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
原创 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
2020-07-22
音视频格式简述.pptx
2020-07-22
嵌入式软件工程师笔试题
2018-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人