- 博客(107)
- 资源 (5)
- 收藏
- 关注
原创 11 开源鸿蒙OpenHarmony轻量系统源码分析
之前单独的LiteOS是通过Makefile编译的,当前的开源鸿蒙LiteOS-M和LiteOS-A是通过gn和ninja编译的。Gitee官方只介绍了LiteOS-M的gn + ninja编译的流程,针对M3使用Keil编译的流程可能要参考社区代码由此可知,开源鸿蒙轻量系统只是简单的由LiteOS-M内核 + 一些芯片厂商的驱动组成LiteOS-M 编码规范。
2024-03-28 15:21:49 877
原创 10 开源鸿蒙中芯片与开发板对应的源码(硬件相关的部分)
因为硬件各种各样,为了学习方便,这里选择几个ARM核的QEMU模拟器(不使用硬件,使用虚拟开发板)开源鸿蒙通过平台仓和芯片仓存放指定芯片和指定开发板的代码,硬件相关的代码和纯逻辑代码是分开存放的。verdor芯片仓的开发板配置。device芯片仓的源码和配置。
2024-03-20 10:39:43 904
原创 9 开源鸿蒙OpenHarmony上电的第一行代码,boot代码简述
本来芯片上电后的第一行代码应该是能在源码中看到的,但是OpenHarmony中使用了ARM的CMSIS官方库,也就是说上电时的第一行代码已经融合进编译器里面去了,所以你看不到,只能看到第二行代码,那就是 Reset_Handler() 复位中断函数。内核代码具体的细节,ARM Cortex-M可以参考LiteOS-M,ARM Cortex-A可以参考LiteOS-A或者Linux内核。上电的第一行代码是硬件复位中断的入口,也就是RAM零地址的代码,属于boot代码的一部分。
2024-03-12 13:59:05 392
原创 8 OpenHarmony开源鸿蒙build编译模块的原理和系统配置讲解
【代码】8 OpenHarmony开源鸿蒙build编译模块的原理和系统配置讲解。
2024-03-12 10:06:10 981
原创 7 BUILD.gn文件怎么写,Gn + Ninja编译一个Hello world程序的例子Demo
cd examples/simple_build/ 下载源码后进入其中的子目录。这是一个简单的BUILD.gn配置文件。这是Gn官方的例子,在Gn的源码里面。ls 先看看里面的文件。
2024-03-11 16:46:22 758
原创 6 Ubuntu18.04下安装Gn软件(和Ninja配合使用的,代替CMake、Automake + Makefile的那个)
sudo cp ./out/gn /usr/bin 将编译完的程序拷贝到默认程序路径,不这么做的话就需要你自己加环境变量了,make install命令也是类似的作用。/lib/llvm-8/bin/clang++ clang++ 创建链接。sudo apt-get install clang-8 安装Clang-8或以上版本编译器。/lib/llvm-8/bin/clang clang 创建链接。cd /usr/bin/ 进入默认软件目录。clang --version 测试编译器。
2024-03-11 16:24:40 1101
原创 5 一个能直接运行的Ninja例子,build.ninja文件怎么写?
默认的构建文件为当前目录下的 build.ninja 文件,类似于Linux中的Makefile文件。将这个目录加入到Linux也就是msys2的环境变量中,如果你曾经添加过,则就不要重复添加了。安装好的软件在msys2的 /mingw64/bin/ 目录下。新建一个mian.c文件,写上hello world输出。进入到本仓库的ninja演示目录。
2024-03-08 15:56:43 983
原创 0 OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程
OpenHarmony有Gitee源码仓库:https://gitee.com/openharmony ,但是和其它简单的Git仓库不一样,它不是通过 git clone xxx 一个命令就能下载全量代码的,而是和安卓类似,需要用到manifest这个顶层仓库,并且通过repo工具把很多个Git仓库的特定版本拉到本地同一个目录。bash build/prebuilts_download.sh 安装和芯片相关的编译器和二进制工具,全自动的,会下载的同时进行安装,要等待一段时间,有进度条。
2024-03-08 14:05:52 1152
原创 4 在QEMU硬件模拟器中运行开源鸿蒙OpenHarmony4.1的操作系统,无需实体开发板
Ubuntu回到OpenHarmony源码根目录下,使用命令行用QEMU模拟器运行开源鸿蒙系统。在电脑上安装QEMU模拟器软件,可以在Windows下安装,也可以在Linux发行版下安装。我准备在QEMU模拟器中运行ARM Cortex-M4的轻型开源鸿蒙系统。
2024-03-01 17:05:06 1606 1
原创 3 开源鸿蒙OpenHarmony4.1源码下载、编译,生成OHOS_Image可执行文件的最简易流程
执行 sudo docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2 将源码路径导入到Docker中。安装完之后进入系统,使用命令行将官方源换成华为源,这样下载软件时更快。将你下载好的鸿蒙源码在Ubuntu下解压,进入已经解压的源码根目录。在Ubuntu系统中解压上面已经下载的openHarmony源码。准备一台Windows电脑。
2024-03-01 14:52:45 1844
原创 2 开源鸿蒙OpenHarmony4.1源码下载和编译流程
bash build/prebuilts_download.sh 安装和芯片相关的编译器和二进制工具,全自动的,会下载的同时进行安装,要等待一段时间,有进度条。安装基础开发环境:安装VMware虚拟机+Ubuntu发行版系统+Git软件+repo软件+Python。hb --help 这个命令执行时可能有报错,有什么错误就解决什么错误,例如用下面方法解决报错。按前面的流程下载全量源码,或者特定开发板特定芯片的源码。hb build -f 开始编译,有报错则处理报错。编译开源鸿蒙源码前先下载源码。
2024-02-29 20:37:37 2112
原创 1 开源鸿蒙OpenHarmony niobe407 STM32F407IGT6芯片轻型系统全量源码4.1版本下载流程
如果你下载特定类型(轻型小型标准)、特定芯片的系统,则需要在Linux发行版如Ubuntu下进行,总共11G左右;如果你下载全OpenHarmony4.0全量代码,则最简单,直接网址下载,总共30G左右。
2024-02-27 19:40:44 977
原创 7 .png带透明像素和无损压缩的图片文件格式解析
硬件显示png图片,有时只需要霍夫曼表、PLAT表、图片码流、位深度、颜色类型、压缩参数,需要编解码驱动或者多媒体中间件将PNG文件进行解封装,并将拆解的数据送给硬件进行解码;
2023-11-28 11:38:12 147
原创 ffmpeg bt601转bt709命令
ffmpeg bt601转bt709命令:ffmpeg -i in.h264 -color_primaries 1 -color_trc 1 -colorspace 1 out.h264转完后用ffprobe out.h264查看的话,格式会从yuv420p(progressive)变成yuv420p(tv, bt709, progressive)
2023-06-15 09:36:19 557
原创 13 51单片机汇编:用Keil C51模拟器进行IO输入并打印输入结果[系列教程之13]
【代码】13 51单片机汇编:用Keil C51模拟器进行IO输入并打印输入结果[系列教程之13]
2023-06-11 21:43:53 724
原创 Keil C51从汇编跳转到main函数编译器报错ERROR L127: UNRESOLVED EXTERNAL SYMBOL的解决办法
如果你自建的汇编原文件不是以Keil默认的.A51或者.s .S结尾,而是以.asm .ASM结尾的话,在Keil工程里包含新文件时,不要使用文件类型:All files(Keil C51从汇编跳转到main函数编译器报错ERROR L127: UNRESOLVED EXTERNAL SYMBOL的解决办法。不使用Keil的默认文件,如何自己写Boot汇编文件并跳转到Main函数?),而要使用文件类型:Asm Source file(*.s;),否则Keil编译会报错,无法创建中间文件的路径。
2023-06-11 19:14:51 3390
原创 12 51单片机汇编:用Keil C51模拟器的UART#1窗口查看串口输出[系列教程之12]
【代码】12 51单片机汇编:用Keil C51模拟器的UART#1窗口查看串口输出[系列教程之12]
2023-06-11 15:59:22 1263
原创 8051单片机汇编LCALL为什么跳转不到子程序?解决办法(新手问题)
用Keil创建的AT89C51默认工程没有设置外部RAM,而内部RAM只有0x80的大小,代码按照ORG 0100H放置的话,则程序越界了;例如:如果用汇编写了一个子函数。
2023-06-11 13:06:44 551
原创 11 51单片机汇编:IO输出波形,并用Keil模拟器的示波器观看输出的波形[系列教程之11]
【代码】11 51单片机汇编:IO输出波形,并用Keil模拟器的示波器观看输出的波形[系列教程之11]
2023-06-10 22:47:23 786
原创 10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10]
【代码】9 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之9]
2023-06-09 21:54:55 615
原创 06 FFmpeg用命令将视频转成RGB888或RGB565
直接使用 ffmpeg -i in.mp4 out.rgb就能解码转码生成RGB视频裸流,但是用ffprobe查看格式会报错,用ffplay播放.rgb文件需要指定具体的格式才行。网上搜FFmpeg转RGB888,能搜到的东西很少,换了关键词后就能搜到了。查看ffmepg支持的 pixel_format 图像像素格式。
2023-03-31 14:40:25 1130 1
原创 02 科学里的相对论、量子力学、混沌系统对中华文化里的易经、道德经、黄帝内经的个人理解
Gitee源文件地址:CSDN原文章地址:易经、道德经、黄帝内经和相对论、量子力学、混沌系统异同(假设)
2023-03-27 13:55:37 418
原创 为什么要学相对论、量子力学、混沌系统?(for 软件工程师、艺术UI视频设计、机械土木各种工程师)
《广义相对论》又名《无损转化论或轮回论》《时间、空间(距离)、质量、能量(运动和信息)的转化或力学定律》,又名《一切守恒定律》。《量子力学》《物质组成和微观运动原理》《蝴蝶效应的源头》《思维的种子》。《混沌系统》又名《混沌与秩序》、《健康与死亡》、《工程的本质》《我买的东西为什么几十年都用不坏》《人为什么可以存在》《系统以负熵为食》《美的本质》《你为什么那么漂亮,我为什么那么帅》《什么是和谐》。相对论、量子力学、混沌、系统、信号、工程、混沌学、秩序、失衡、美学、平衡、和谐、分形学、复杂系统、架构、总监
2023-03-27 11:10:04 722
原创 04 嵌入式私有通信协议源码,用于两个设备间或者双核之间通信
技术依赖:模块中用到了链表、队列。已含有的功能:消息ACK响应、单发单收、多发多收、重发、超时处理、接收缓存队列、发送缓存队列、支持操作权限控制。
2023-03-25 03:38:07 429
原创 02 用Windows API使用Bresenham算法通过画直线的方式实现圆填充算法
在Windows电脑上,使用VS软件,使用C语言风格,使用Windows API函数接口(以前叫Win32 API)实现画圆和圆的填充。
2023-01-31 10:31:40 274
原创 01 C语言实现动态气泡碰撞和移动的效果,小球碰撞,Win7气泡壁纸,碰撞算法
想要实现多气泡相互碰撞的效果;想着这种在Win7壁纸中早就实现的效果,网上应该能找到源码的,但是,事实是我并没有找到能在实际产品中使用的,成熟的源码,没有办法,只有自己写。一开始出现一堆相互不重叠的,大小不一的气泡;或者一开始气泡从底下或者侧面出现,然后方向有一些随机的不同;自然和符合物理规律的碰撞效果;使用windows api、c语言、vsWin32 API 编程 —— 前言。
2023-01-29 11:38:01 1013
原创 04 MJPEG协议简述和JPEG拆分
MJPEG能搜到的资料和源码比较少,我搜了一圈之后都不知道怎么从mjpeg流中拆分出一张张jpeg图片,也不知道MJPEG格式是用什么方式来组织JPEG图片序列的;
2022-12-26 15:47:41 806
mp4 mkv解封装,视频文件转流文件,mp4、mkv文件转h264 hevc aac mp3程序.zip
2020-07-22
音视频格式简述.pptx
2020-07-22
嵌入式软件工程师笔试题
2018-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人