自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 buidldroot musl uclib库 编译

就您而言,您尝试使用属于 POSIX 一部分的非标准函数,这就是您需要 #define _GNU_SOURCE 1 的原因。您想要获得 _GNU_SOURCE 的全部效果,但要使用 BSD 定义优先于 POSIX 定义,使用 _GNU_SOURCE。BR2_TOOLCHAIN_HEADERS_AT_LEAST指定的版本要和交叉编译工具链的version.h中的一致,例如。BR2_TOOLCHAIN_EXTERNAL_INET_RPC:是否支持RPC,远程过程调用,主要用于NFS。buidroot编译。

2024-05-31 17:31:30 595

原创 打包工具 advanced install 学习笔记

简单说明怎么使用advanced install 工具打包软件

2024-05-09 11:05:23 942 1

原创 DW PCIE LINUX的初始化分析

DW PCIE 初始化分析

2024-05-06 17:24:34 1107

原创 SPARC VScode EIDE GDB 使用配置

网上有个“Debugging Guide for GDB and VS Code”的文档可以参考vscode介绍链接可以添加自定义的链接工具上面是标准JTAG的添加的标准模板,"name": "(gdb) Windows 上的 Bash 启动","program": "输入程序名称,例如 ${workspaceFolder}/a.exe",},"description": "为 gdb 启用整齐打印",},"description": "将反汇编风格设置为 Intel",我使用的模板,

2024-04-28 17:33:05 1090

原创 IAR 使用笔记生成使用库函数,自定义烧写分析(IAR BIN大小为0异常解决)

原文连接定义:#define PAGE_ADDRESS 0x6000__root 是IAR的扩展关键字,强制编译,保证没有使用的函数或者变量也能够包含在目标代码中__code数据存储在code(程序区),对应的date为数据区@的强制定义了数据的存储地址上面的定义实际就是把IEEE_ADDRESS的数据强制写入到0x6000中。

2024-04-16 15:17:12 1050

原创 IPROUTE2 FOR CAN 一个简化的can专用设置的程序

由于FLASH空间有限只设置CAN 需要一个小的程序只控制CAN 的状态。

2024-04-16 12:16:27 817

原创 buildroot LINUX启动设置和启动运行程序,登录密码设置

1、修改配置/etc/inittab,打开::respawn:-/bin/sh 这一行不需要登录,打开ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100 # GENERIC_SERIAL。也可以在此添加东西,只要是不重新清掉只编译LINUX ,内部拷贝的东西仍然存在。修改为:console::respawn:-/bin/sh。可以修改board 对应Linux 的config。修改buildroot 的config。在etc下的inittab 下。

2024-04-16 10:28:14 984

原创 RUST Rover 条件编译 异常处理

异常 error: failed to parse manifest at [features] conditional compilation 条件编译

2024-04-02 18:21:16 574

原创 芯片调试记录,芯片频率,添加摄像头,CAN、SPI、看门狗

/硬件I2C 设置//GPIO I2C 设置i2c0_gpio1 是gpio模拟I2C 功能嵌入式Linux下 i2c-tool工具的使用方法 包括i2cdetect、i2cget、i2cset、i2cdump、i2ctransferi2cdetect -ry 0 扫描 0地址寄存器。i2cdump -fy 0 0x30 扫描 0 I2C 0X30 地址。

2024-03-10 16:24:53 1053

原创 LINUX驱动中断GPIO 中断

中断最重要属性就是响应必须及时,而实际实现中中断处理过程往往比较费事,这将会影响后续中断响应。2.当设备可以访问的时候,驱动程序需要向应用程序发出信号,相当于产生”中断“。重点就是通过fcntl函数设置进程状态为FASYNC,经过这一步,驱动程序中的fasync函数就会执行。1、如果要处理的内容不希望被其他中断打断,那么可以放到上半部。4、除了上述三点以外的其他任务,优先考虑放到下半部。2、如果要处理的任务对时间敏感,可以放到上半部。3、如果要处理的任务与硬件有关,可以放到上半部。1、中断上下部设计思路。

2024-03-10 15:50:48 453

原创 LINUX ADC使用

检查对应adc-channel的值。

2024-03-10 15:28:26 513

原创 UBOOT和LINUX 调试等级设置

loglevel=6 //直接指定级别。

2024-03-05 08:38:03 1194

原创 LINUX SPL UBOOT LINUX 调试串口shell 终端修改笔记

嵌入式LINUX 的控制台终端修改成需要的串口需要做一些转换

2024-03-04 17:19:17 603

原创 PYCHARM PYSIDE6 QT 打包异常3种处理方式 no qt platform plugin could be initialized

no qt platform plugin could be initialized pycharm pyside 打包软件运行异常

2024-02-29 14:18:03 1243

原创 ERROR: reserving fdt memory region failed 错误分析

ERROR: reserving fdt memory region failed在 boot_fdt_add_mem_rsv_regions调用boot_fdt_reserve_region前加入打印:void boot_fdt_add_mem_rsv_regions(struct lmb *lmb, void *fdt_blob){uint64_t addr, size;int i, total, ret;int nodeoffset, subnode;struct fdt_resource

2024-01-06 17:59:09 1195

原创 LINUX自启动线程学习笔记

LINUX 启动线程 ps 命令结果分析

2023-12-25 17:15:34 1263

原创 嵌入式LINUX使用ZMODOM与电脑传输测试交叉编译后的程序或程序运行结果文件

嵌入式 下载 上传 文件 ZMODOM

2023-12-06 12:02:36 629

原创 使用NEON单元将MIPI的Raw图像转换YUV和16位数组的方法

关于yuv 格式:planar,semiplana,Interleaved格式区别YUV介绍planar 格式,Y U V 分3个数组拼接semiplana:Semi 是“半”的意思,个人理解这个是半平面模式,这个格式的数据量跟YUV422 Planar的一样,但是U、V是交叉存放的。YUV 4:4:4 采样YUV 4:4:4 采样,意味着 Y、U、V 三个分量的采样比例相同,因此在生成的图像里,每个像素的三个分量信息完整,都是 8 bit,也就是一个字节。YUV 4:2:2 采样。

2023-11-22 15:01:46 1551

原创 STM32 FOC电机PID学习笔记

简介在系统上存在外部干扰的情况下反馈是最好的选择否则使用前馈网络。为扭矩、通量和速度实施的调节器实际上是比例(P Proportional )、积分(I Integral)、微分 (D Derivative ) 调节器。 STM32中实际提供了3种,但是实际上我们常用的电机反馈调节使用的是PI反馈控制就够了。参考《STM32F PMSM single/dual FOC SDK》文档PID原理文档章节4我们平时使用到并联的PI的示意图,不过该图对于不同频率的时候的响应有缺陷。并行模式K

2023-05-30 17:28:10 2933 2

原创 STM32 I2C DMA 第二次 HAL_BUSY问题解决

STM32 DMA 第二次 BUSY

2023-04-14 11:03:13 1333

原创 使用PCIE的TTE卡遇到的rcu: INFO: rcu_sched self-detected stall on CPU问题解决

RCU一个说明网页cat或者tail -f命令日 志 文 件 说 明/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/var/log/cron 与定时任务相关的日志信息/var/log/spooler 与UUCP和news设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息系统:#

2023-03-25 15:22:55 1779 1

原创 simple foc 移植KEIL驱动双路电机

SIMPLE FOC 的通信控制协议加ST的定点算法才能较好的用在实际项目。首先需要将SIMPLE FOC 移植到KEIL中。

2023-03-16 14:36:23 1608 1

原创 SimpleFOC上位机PYTHON 环境安装笔记

SimpleFOC上位机PYTHON 环境安装笔记

2023-03-08 16:19:02 1755 3

原创 FOC ST MediumFrequencyTask 分析(代码注释)

理解为启动时为开环模式加速启动,到一定阶段转为FOC闭环处理。在运行过程中会根据外部输入命令进行处理。

2023-02-21 08:48:30 2818 1

原创 FOC电机ST系列处理器使用的基础学习笔记

ST公司开源了STM32相关的FOC控制代码,通过其MotoControl Workbench 选择对应的开发板和电机板可以快速的生成FOC控制代码。总体描述生成的代码主要有下面结果部分:1.Application/MDK-ARM 是ARM的启动代码。2.Application/User主要是用户代码。3.Drivers/STM32G*** 是驱动部分代码。4.Drivers/CMSIS应该是ARMCortex-M系列IP的硬件抽象标准,Common Microcontroller Softw

2022-11-10 14:16:15 5420

原创 YL芯片LVDS屏幕时序和接口介绍

芯片使用LVDS接口对外输出图像,芯片支持单8和双8和2路单8同时输出的方式输出图像。芯片支持VESA (Video Electronics Standards Association) standard and JEIDA (Japanese Electronic Industry Development Association) standard两种输出标准。LVDS的接口如下:芯片的LVDS 接口功能框图如下:CH0\CH1 输出内容选择通过GPR_LVOC_CTRL寄存器的

2022-08-24 15:53:39 2074

原创 VMware共享文件夹设置对,但/mnt/hgfs无共享文件解决方法

VMware设置没有问题但是/mnt/hgfs无共享文件,解决办法

2022-07-12 17:33:01 5132 2

原创 dma_alloc_coherent DMA内存申请学习笔记

dma_alloc_coherent 相关的知识网络上有很多,将相关的知识收集汇总以便于后续遇到问题方便查找。这一次对dma_alloc_coherent进行学习的原因是在使用rapidio驱动时申请大于64M的DMA内存时,遇到多次申请无法申请到内存的情况(加大预留DMA内存不能解决)。进而学习一下相关知识看是否有方法能解决相关问题。遇到的问题DMA无法申请大于32M的内存,MAX_ORDER 这个宏设置的太小,这个宏限制了一次请求所能分配的最大物理页数。如果申请5MB内存,MAX_ORDER 需要不小于

2022-06-23 18:30:58 7334

原创 RAPIDIO LINUX 驱动理解笔记1 DMA OUTBOUND

应用程序调用的ioctl 对应底层的内容为rio_mport_cdev.c:初始分析DMA需要的APIO空间申请和注销初始化前需要调用 ioctl的RIO_MAP_OUTBOUND申请OUBOUND的对应窗口设置和RIO_UNMAP_OUTBOUND释放。为什么要做这个处理参看我的《rapidio学习使用过程摘抄》的AXI 地址对应RAPIDIO地址转换(AXI PIO Mode)部分章节。驱动中DMA的调用关系rio_mport_cdev.c中roi.c中 调用注册的map_outb函数

2022-06-16 11:31:13 2293 5

原创 数字电源通信的Linear11和Linear16数据格式学习附代码

凌特电源读取电流值 Linear11和Linera16格式说明

2022-06-01 16:57:34 6095 3

原创 DWC的1000M的MAC自环和PHY自环测试寄存器修改方式

调试芯片以太网的小经验

2022-05-11 16:34:30 1484

原创 DW PCIE 的Register Module, LBC, and DBI章节学习笔记

用到名词解释CDM:Configuration Dependent ModuleThis is an internal block in the native controller that has the PCIe configuration registers andsome user-accessible registers.ELBI:External Local Bus InterfaceDelivers an inbound register RD/WR received by the

2022-04-24 16:20:20 4527 1

原创 rapidio学习使用过程摘抄

TI的RAPIDIO说明链接消息说明连接

2022-01-13 16:10:36 4711 1

原创 RawData是Bayer转RGB格式代码分析和NEON单元加速方法

由于810芯片CAMERALINK输入RawData的Bayer格式转RGB功能收行缓存大小的限制,最大只支持4K模式下进行Bayer格式转RGB功能。所以相关的转换功能需要使用CPU或者GPU进行转换。下面介绍一下相关的格式的原理和转换程序编写方法。图像格式和滤光片间的关系对应很多CAMERALINK或普通相机COMS光原件本身只是对一个一个点对光强弱状态进行量化,并不会颜色进行区分。达到区分颜色的方式是使用滤光片产生对颜色的区分。类似下图经过滤光片后CMOS每个点对应的光强度就是对应颜色的光强度。

2021-12-08 09:39:14 3286

原创 CUDA的旋转R ROI Align的OPENCL实现2(CUDA代码分析)

ROI Align的旋转从前一篇文章原理看来与我开始的准备用OPENVX实现的理解有很大差异。我一开始准备使用的是使用OPENVX的旋转功能将图像进行旋转后进行ROI Align计算,旋转过程使用“”双线性插值”的方式优化图像质量。后来将代码和原理相结合后发现其实不能那么做,只能使用上一篇文章的最后一张图的原理来计算。参考CUDA的代码来实现相关功能。bilinear_interpolate代码分析先了解几个概念:标量类型(Scalar type)是相对复合类型(Compound type)来说的:

2021-11-18 11:24:02 6646

原创 CUDA的旋转R ROI Align的OPENCL实现1(原理理解)

在CUDA上实现的 旋转RIO Pooling 函数ROIAlignRotatedForward需要移植到我所使用的SOC上,我使用的SOC支持OPENVX编程。对应的CUDA 程序在下面网址CUDA实现 旋转RIO 函数链接从CUDA代码入手旋转RoI链接__global__ void ROIAlignRotatedForward(const int nthreads, const scalar_t *bottom_data, co

2021-11-17 13:27:01 3420 1

原创 Pintrl LINUX 下管脚复用添加CAN复用实例

SOC由于外设众多管脚不够用普片使用管脚复用,在LINUX下专门有个Pinctrl的子系统进行复用管脚的管理。我再这就描述相关的系统架构,只是简单的描述一下实例和使用说明。详细介绍建议查看https://blog.csdn.net/u012830148/article/details/80609337 相关说明。添加一个Pintrl定义CAN1LINUX驱动下SOC的PIN管脚控制已经完整的定义好了,无需要去修改。我们添加一个Pintrl的定义其实只是提供一个Pin的复用选择组合,我们拿CAN1的Pi

2021-11-03 15:20:00 719

原创 GPU的OPENCL编程2(CPU和GPU数据交互和GPU与global id local id的关系)

在不同的架构上GPU和CPU的情况不一样,在电脑上GPU可以有很大的DDR显存存放数据,SOC上GPU的显存和CPU是同一个DDR,GPU可能会提供一个小的SRAM作为缓存该缓存不用于CPU和GPU交互数据。这个章节的细节内容建议查看“OpenCL Programming Guide”这本书。在Opencl编程中和普通CPU编程有很大的不同,提供给GPU的共享内存需要通过clCreateBuffer或clCreateImage申请。传输变量内存地址,传输Kernel的参数都必须通过clSetKernelA

2021-10-30 15:17:21 1381

原创 GPU的OPENCL编程1(基础知识和初始化)

OPENCL 简单介绍OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU或其他类型的处理器组成。通过OpenCL可以通过GPU的并行加速,不过OpenCL的编程思路和标准C语言串行执行有很大区别。OpenCL使用了kernel函数,kernels并行运行在GPU上。GPU单元和Host关系上图对SOC的GPU计算单元的关系理解有很大帮助.Processing Element:GPU的最小计算单元,Opencl的kernel就是运行在这个计算单元上。多个单元组合在一起共享一个G

2021-10-29 14:06:09 1202

原创 PCIE总线理解笔记

基本介绍 PCI的EP和RC分别对应从模式和主模式,普通的PCI RC主模式可以用于连接PCI-E以太网芯片或PCI-E的硬盘等外设。RC模式使用外设一般都有LINUX 驱动程序,安装好驱动基本都能正常使用。但是对于SOC芯片本身能做EP有能做RC 两者如何互相通信可能就需要对PCIE的使用和基本原理有所了解才能较好的使用。 先了解几个定义:TLP TLP(Transaction Layer Packet)据包的描述被定义为事务层数据包 (TLP),它与 ​​PCIe 的最上层有关。数据链路层负责

2021-10-24 14:11:10 29064 3

IPROUTE2 OLNY FOR CAN 一个简化的can专用设置的程序

IPROUTE2 OLNY FOR CAN 一个简化的can专用设置的程序

2024-04-16

ARM M4的一个使用内存运行程序的例子

ARM M4的 KEIL使用内存存放代码段和数据段的测试例子。

2022-11-05

空空如也

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

TA关注的人

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