- 博客(76)
- 资源 (10)
- 收藏
- 关注
原创 用AutoSAR点亮LED——MCAL配置
本文目的是要配置开发板上的 RGB LED,顾名思义,有 3 颗 LED 需要配置,详细介绍一下 MCAL 中的 Port 和 Dio 模块的配置方法,以及如何在 IAR 工程中集成 MCAL 源代码和 EB 生成的配置代码。Base 模块是使用 MCAL 时必须的,定义了一些通用的变量、宏定义等,直接按照上面方法一样,右键 ECU ID 名,在 Module Configurations 界面添加 Base 模块,不需要配置什么。默认是 disable PLL 的,默认会有一个报错,去掉勾选即可。
2023-09-13 06:20:02
871
2
原创 点亮LED——第一个IAR工程
使用了一个 demo 工程,不管是裸机程序还是AutoSAR程序,那都是别人已经创建好的工程。本节来介绍如何来创建自己的工程,本节介绍如何创建一个 IAR 的工程,点亮开发板上的 LED。经过前面的步骤,发现在 IAR 工程中添加文件,是很繁琐的一件事,如果你需要添加的文件很多,还采用这种方式去添加的话,就会很烦,幸好有个工具可以帮忙,叫 EWPtool。同理再创建个 startup 的 Group,再添加启动文件,最后右键工程名添加 main.c,最终目录结构如下,记得点击。
2023-09-08 06:41:56
1089
原创 点亮LED——第一个S32DS工程
使用了一个 demo 工程,不管是裸机程序还是 AutoSAR 程序,那都是别人已经创建好的工程。本节来介绍如何来创建自己的工程,本节介绍如何创建一个 S32DS 的工程,点亮开发板上的 LED。有时候会报错:main.c:56 xxxx,可以忽略,此时按 SW2 按键,可以看到红色 LED 亮起;点击单行调试,看看效果(想看到LED灯变化,则需要你按住开发板上的SW2按键,可看看主函数代码逻辑)修改代码,原示例程序控制的是蓝色 LED,我们现在把它改成红色 LED,看看效果。接下来,我们编译一下工程。
2023-09-03 08:15:46
684
原创 测试开发板——第一个AutoSAR程序
集成工程的 Davinci Configurator 工程文件位于工具包: AUTOSAR_TOOLs\S32K144_SIP\MICROSAR\CBD1800257_D01_S32K1xx\Applications\S32K144_Start_new_IAR\S32K144_Start.dpa,双击打开该工程。IAR ==> Project ==> Options ==> Debugger,Debuger-Driver 必须选 PE micro,然后保存退出。最后下载程序到开发板,点击 Connect。
2023-08-25 07:10:07
1178
1
原创 搭建AutoSAR开发环境
任何开发都需要一套开发环境,包括软硬件环境,笔者后续将介绍的是 NXP 的 S32K144 配套的开发板。接下来详细介绍怎么获取这些软硬件工具。仅供个人学习使用!
2023-08-24 06:29:26
4002
19
原创 AutoSAR 简介
AutoSAR 就是 AUTOmotive Open System ARchitecture 的简称,中文翻译就是汽车开放系统架构。简单点说:就是将汽车电子控制单元(ECU)的软件底层做一个标准的封装,使得大家可以共用一套底层软件,只需要修改其中的一些配置,就可以匹配不同的硬件。总结一句话就是“一套写得比较好的底层软件”。OEM - 整车厂,例如宝马、奔驰、奥迪、大众、丰田Tier1 - 一级供应商,直接向OEM供应ECU等,如大陆、博世。
2023-08-24 06:17:18
515
3
原创 如何制作Docker镜像
一般有两种方式来制作自己的 Docker 镜像1. 基于现有的 Docker 镜像,安装自己的软件环境后,完成制作2. 从零开始用 Dockerfile 来制作
2022-12-07 14:21:11
977
原创 如何搭建Docker环境
Docker 是一种虚拟化技术,基于 Linux 的容器机制(Linux Containers,简称 LXC),可以把它近似地理解成是一个“轻量级的虚拟机”,只消耗较少的资源就能实现对进程的隔离保护
2022-12-07 14:07:22
742
原创 imx8 交叉编译jq
下载 jqgit clone https://github.com/stedolan/jq.git打 patchcd jqpatch -p1 < ../jq.patch编译. /opt/fsl-imx-xwayland/5.4-zeus/environment-setup-aarch64-poky-linuxmakediff -uprN jq-old/Makefile jq-new/Makefile--- jq-old/Makefile 1970-01-01 08:00:00.
2021-02-01 15:01:47
836
原创 imx8 交叉编译libgpiod
下载 libgpiod-1.6.2.tar.gzhttps://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/解压tar -zxf libgpiod-1.6.2.tar.gz打 patchcd libgpiod-1.6.2patch -p1 < ../libgpiod-1.6.2.patch编译. /opt/fsl-imx-xwayland/5.4-zeus/environment-setup-aarch64-poky-linu
2021-02-01 14:56:26
1214
原创 NXP i.mx8mm 下载 yocto 源码,编译最小 rootfs
下载编译yocto下载repomkdir testcd testcurl https://storage.googleapis.com/git-repo-downloads/repo > ./repo因为国内防火墙的原因,编辑 repo 里的 url 地址,改为国内的REPO_URL = ‘https://mirrors.tuna.tsinghua.edu.cn/git/git-repo’如果是第一次下载使用 git ,需要配置 git 相关的环境变量git config -
2020-12-29 15:04:58
1779
1
原创 C++设计模式之单例模式(创建型模式)
学习软件设计,向OO高手迈进!设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是前辈大神们留下的软件设计的"招式"或是"套路"。什么是单例模式定义:确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例单例模式有3个要点:这个类只能有一个实例它必须自己创建这个实例它必须自己向整个系统提供这个实例单例模式结构非常简单,只包含一个类,即单例类为防止创建多个对
2020-11-30 20:51:00
312
原创 移植Python3.6.6到嵌入式Linux平台——HI3531DV100
编译Python2.7.3需要给Python2源码打上用于交叉编译的patch,从Python-3.3.1开始,就不需要再打什么patch了,只需要在configure的时候指定–build和–host参数即可源码下载&解压wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xzxz -d Python-3.6.6.tar.xztar xvf Python-3.6.6.tar编译HOST解释器同Pyt
2020-11-28 12:18:33
536
原创 移植Python2.7.3到嵌入式Linux平台——HI3531DV100
Python2与Python3二者是不兼容的,因此做两个版本来说明,先从Python2开始,网上用得比较多的Python2当属2.7.3了硬件信息编译服务器版本:Ubuntu 12.04.5 LTS交叉编译器:arm-hisiv600-linux-硬件平台:HI3531DV100源码下载&解压wget https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.xzxz -d Python-2.7.3.tar.xztar x
2020-11-26 21:22:37
479
原创 HDMI EDID详细解析——C代码实现
继上一篇《HDMI EDID详细解析》https://blog.youkuaiyun.com/cfl927096306/article/details/108017501现在用C代码来实现解析HDMI EDID的功能,详细如下部分代码是参考了这两篇文章,非常感谢!https://blog.youkuaiyun.com/yexiang优快云/article/details/100040429https://www.cnblogs.com/lsilkworm/archive/2010/06/04/1751474.html
2020-08-20 10:33:01
4323
1
原创 HDMI EDID详细解析
HDMI EDID详细解析HDMI EDID的长度一般是256字节,分成2个Block,分别是Block0和Block1PS:VGA和DVI接口的EDID,是只有一个Block而已,即Block0,共128字节如果想了解更多EDID的知识,可以参考这篇文章https://www.cnblogs.com/fire909090/p/10523604.htmlBlock0EDID Block0,共128字节,该block的格式是固定的,即每个字段的摆放位置是固定的,因此代码解析起来会相对简单些一张长
2020-08-15 08:58:49
23191
18
原创 使用FFmpeg把内存中的H264和AAC数据流合成MP4文件
FFmpeg 一般情况下支持打开一个本地文件,例如 “/usr/local/test.avi”、"/dev/video0",或者是一个流媒体协议的 URL,例如 “rtmp://222.31.64.208/vod/test.flv”、“http://192.168.199.160:7001/1/dd54fd96-8396-5faa-9cd4-0338ec1373e0.mp4”其打开文件的函数是 avformat_open_input(),直接将文件路径或者流媒体 URL 的字符串传递给该函数的 url 参
2020-07-21 13:33:18
2919
5
原创 使用 FFmpeg 把 PCM 转成 AAC
ffmpeg-3.4编译出lib库和头文件配置文件可以是这样 config.sh主要是–enable-encoders --enable-swresample#!/bin/bashexport PREFIX=./../ffmpeg./configure \ --disable-yasm \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-debug \ -
2020-07-07 10:16:57
1860
原创 FFmpeg录制MP4
例如录制手机端URL投屏之类应用的音视频到本地ffmpeg-3.4编译出lib库和头文件配置文件可以是这样 config.sh#!/bin/bashexport PREFIX=./../ffmpeg./configure \ --disable-yasm \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-debug \ --disable-zlib \
2020-06-19 14:52:20
1616
原创 FFmpeg获取来自网络MP4的音视频数据
例如手机端URL投屏之类的应用ffmpeg-3.4编译出lib库和头文件配置文件可以是这样 config.sh#!/bin/bashexport PREFIX=./../ffmpeg./configure \ --disable-yasm \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-debug \ --disable-zlib \ --di
2020-06-12 11:12:53
1261
原创 FFmpeg获取USB摄像头音视频数据
Linux kernel驱动使能v4l2功能ffmpeg-3.4编译出lib库和头文件配置文件可以是这样 config.sh#!/bin/bashexport PREFIX=./../ffmpeg./configure \ --disable-yasm \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-debug \ --disable-zlib \
2020-06-11 17:25:35
2096
原创 C++设计模式之迭代器模式(行为型模式)
学习软件设计,向OO高手迈进!设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是前辈大神们留下的软件设计的"招式"或是"套路"。什么是迭代器模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景爆炸性新闻:隔壁的餐厅和煎饼屋被A...
2020-05-06 15:55:08
234
原创 C++设计模式之命令模式(行为型模式)
学习软件设计,向OO高手迈进!设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是前辈大神们留下的软件设计的"招式"或是"套路"。什么是命令模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景我们接到一个来自某家电自动化公司的需...
2020-05-04 17:38:37
408
原创 C++设计模式之观察者模式(行为型模式)
学习软件设计,向OO高手迈进!设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是前辈大神们留下的软件设计的"招式"或是"套路"。什么是观察者模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景我们接到一个来自气象局的需求:气象...
2020-05-02 21:20:30
662
原创 C++设计模式之模板方法模式(行为型模式)
学习软件设计,向OO高手迈进!设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是前辈大神们留下的软件设计的"招式"或是"套路"。什么是模板方法模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景假设我们需要为客户开发一款冲泡饮...
2020-05-02 21:08:16
307
原创 C++设计模式之状态模式(行为型模式)
什么是状态模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景假设我们正在为客户开发一款糖果机产品,客户不是软件专家,他们只甩给了我们一个图,他们认为糖果机的控制器需要如下图般这样工作赶紧脑补一下糖果机是什么样子的?客户给的是一个状态图,一共有4个状态:没有1块钱、有1块钱、售出糖果、糖果售罄很容易想到的就是,写一个 CandyMachine ...
2020-04-30 09:34:27
1246
原创 C++设计模式之策略模式(行为型模式)
什么是策略模式在本文末尾会给出解释,待耐心看完demo再看定义,相信你会有更深刻的印象实例讲解背景假设我们正在开发一款类似植物大战僵尸的游戏,产品经理告诉我们说:所有僵尸的必要条件是可以动、可以攻击、外观上可以区分就可以了没问题,写一个抽象类 Character,然后让所有角色(僵尸)继承这个类就可以了。So easyVersion 1.0类图抽象类class Charact...
2020-04-30 09:14:17
405
1
原创 CMake 实例详解
CMake 实例详解CMake 是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的 Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写 Makefile 了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便,从而做到 “Write once, run everywhere”。CMakeLists.txt 是 CMake 的配置文件。n...
2020-04-09 14:34:10
3440
3
原创 海思Hi531D芯片使用QT前的准备
直接看代码吧...#include <stdio.h>#include <string.h>#include <unistd.h>#include <fcntl.h>#include <sys/ioctl.h>#include <sys/mman.h>#include <linux/fb.h>...
2020-04-09 13:18:16
488
原创 新版jsoncpp的一些基本用法
下载:https://github.com/open-source-parsers/jsoncpp/tree/1.9.0直接贴代码吧#include <stdio.h>#include <assert.h>#include <string>#include <algorithm>#include <fstream>#i...
2020-03-25 19:57:42
3575
原创 AutoIP 的嵌入式应用
背景开发的产品需要增加 AutoIP 功能,具体要求如下:当设置为 DHCP 时,如果 DHCP 获取或续约失败,则启用 AutoIP 获取 IP 地址AutoIP 期间,DHCP 一旦成功则切换到 DHCP 获得的 IP 地址介绍 ZeroconfZeroconf 全称为 Zero configuration networking,提出者是 Apple 公司,中文名则为零配...
2020-03-06 14:34:59
5681
5
EWPtool-4.1.7.zip
2023-09-08
S32K1xx Series Reference Manual Rev. 13
2023-09-01
搭建自己的git gitweb gerrit服务器
2019-03-24
基于Android自带的Binder库,用C++来实现Binder应用程序的Demo.pdf
2017-07-30
基于Android自带的bctest.c来实现简单的Binder应用程序的Demo.pdf
2017-07-12
APK通过JNI直接访问Kernel驱动程序实现驱动LED的demo
2017-05-11
在Altium Designer软件的PCB编辑器插入自己的LOGO.pdf
2013-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人