- 博客(538)
- 资源 (53)
- 收藏
- 关注
原创 vscode代码AI插件Continue 安装与使用
“Continue” 是一款强大的插件,它主要用于在开发过程中提供智能的代码延续功能。例如,当你在编写代码并且需要进行下一步操作或者完成一个代码块时,它能够根据代码的上下文、语法规则以及相关的库和框架知识,为你提供可能的代码续写建议。 安装 step1:vscode插件市场找到并安装Continue插件 step2:ctrl+L打开菜单随便添加一个,主要配置还是得靠修改config.json step3 打开旁边的配置,弹出config.json step4 config.json 最终
2024-12-31 23:46:40
7296
原创 ubuntu apt-get 安装amd显卡驱动
推荐做法,用apt-get 直接安装驱动,能够很好的解决各种兼容依赖问题。不要去官网下载安装包手动安装,很容易出现不兼容问题。
2022-08-29 11:06:18
10290
4
转载 简单的自解压程序
Linux 自解压程序简单的自解压程序生成可执行程序执行自解压程序脚本 autopack_run.sh简单的自解压程序参考cmake-3.19.6-Linux-x86_64 写了一个自解压的可执行程序生成可执行程序cat ./autopack_run.sh test.tar.gz > test_auto_run.sh1执行自解压程序方法1: sh 直接执行ssh test_auto_run.sh1方法2:增加可执行权限chmod +x test_auto_run.s
2022-05-16 15:19:52
705
原创 解决vivado hls 编译报错command ‘ap_source‘ returned error code
win10编译vivado hls的时候出现如下情况解决方案:打开C:\Xilinx\Vivado\2017.4\bin\unwrapped\win64.o这个目录备份原先的vivado.exe文件拷贝目录下vivado-sh.exe改名为vivado.exe问题得到解决
2022-03-29 14:02:48
3518
3
转载 Linux 中基于 DRM 的图形显示系统概述
Linux系统中图形显示方案1FBDEVFramebuffer device社区参与度不高,基本转移到了DRM。DRM/KMSDirect Rendering Manager / KernelMode Setting主流的图形显示方法,社区参与度高,支持图形系统精细化操作,基本形成了一套图显系统开发的生态标准。V4L2Video For Linux 2主要用于视频捕获的应用场景,并且需要特定输出设备,对复杂图显控制器的支持不佳DRM系统组成2kernel层
2022-03-16 19:20:06
2750
原创 解决反正的频繁弹出 扫描并修复
因为嵌入式开发,常用的SD卡需要在linux中格式化为多个分区。这个时候,sd卡接入windows后会弹出 扫描并修复 。。。。特别烦人。如果不小心还会搞坏卡里面的BootLoader解决方法:我的电脑->管理->服务 ->shell hardware detection关掉...
2020-11-26 18:37:54
1426
原创 解决hisi编译器出错nl_intern_locale_data: Assertion
遇到问题:编译uboot与内核过程中出现:arm-himix200-linux-gcc: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.百度答案:1,首...
2020-05-06 17:10:35
3135
8
原创 linux DTC处理#include
我在尝试使用kernel DTC命令编译时,冒出错误,发现有错误。进而得知·。发现dts文件中引用了.h文件.linux自带的DTC文件无法直接编译DTC需要GCC预处理预处理方法如下:cpp -Wp,-MD,x.pre.tmp -nostdinc -I. -I kernel/include/ -undef -D__DTS__ -x assembler-with-cpp -o...
2020-03-23 12:58:29
2280
转载 Shell中;;&在case场景中的作用
case通用用法:case $var in A) command1 ;; B) command2 ;; C) command3 ;; *) command4 ;;esac如果变量var匹配里面,匹配到了则执行相应的命令并退出case,依次从A-->B-->C;如果C里面也没有,则执行默认的*),command4; 但实际场景里面经常会...
2020-01-02 17:38:23
648
转载 Linux中的括号用法
一、Linux中的小括号(也叫圆括号)“( )”的用法1.单小括号()1)数组赋值或者初始化数组;2)子Shell赋值:小括号中的内容会开启一个子shell独立运行;括号中以分号连接,最后一个命令不需要;各命令和括号无需空格;3)实现多条命令集合:新开多条命令来执行,各个命令之间用分号隔开,最后一个命令必须要分号来隔开;4)与”$“结合实现命令替换:等同于cmd扫描一遍命令行,发...
2020-01-02 15:48:26
3262
转载 linux shell:替换结构 ${var1##*:} ${bz1%,*}的意思
介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果。假设定义了一个变量为:代码如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:...
2020-01-02 15:40:46
662
转载 Linux接口驱动03 - SWIM(脱离ST烧录器,单线完美升级STM8的固件,附带总结经验和源代码)
一、需求概述如何摆脱ST官方烧录器的束缚,编写一个Linux驱动,完成ARM-A9 Soc对STM8固件的升级烧录?二、目标步骤:1.准备好一个编译好的固件(bin格式文件);2.平台Soc激活STM8的SWIM模块;3.平台Soc通过SWIM单线向STM8的Flash中烧录固件。三、A9 Soc 通过SWIM模块完成STM8的固件烧录1. 管脚连接示意图:/******...
2019-09-05 14:31:52
1828
转载 zynq PS侧DMA驱动
linux中,驱动必然会有驱动对应的设备类型。在linux4.4版本中,其设备是以设备树的形式展现的。PS端设备树的devicetree表示如下324 dmac_s: dmac@f8003000 { 325 compatible = "arm,pl330", "arm,primecell"; 326 reg =...
2019-08-30 20:28:01
1728
转载 和菜鸟一起学linux总线驱动之DMA传输
DMA的工作过程:对于嵌入式中的DMA,其实是在写数据寄存器的时候用dma的传输来代替。就像i2c设备,在发送和接收数据的时候都是要往数据寄存器中写数据的。比如那个寄存器是I2C_DATA,如果用cpu来传输的话就是writel(data, I2C_DATA);而用dma传输就是配置好要传输的buf长度,然后源地址就是buf的地址,目标地址就是I2C_DATA。...
2019-08-30 09:11:13
693
转载 Linux 4.0的dmaengine编程
在Linux 4.0下进行dmaengine的编程主要分为两部分,DMA Engine控制器编程和DMA Engine API编程。DMA Engine API编程slave DMA用法包括以下的步骤:1. 分配一个DMA slave通道;2. 设置slave和controller特定的参数;3. 获取一个传输描述符;4. 提交传输描述符;5. 发起等待的请求并等待回调...
2019-08-30 09:10:14
1067
1
转载 linux dmaengine编程
开发板:A33,运行linux-3.4.39主机:Ubuntu 14.04----------------------------------------------DMA是Direct Memory Access的缩写,顾名思义,就是绕开CPU直接访问memory的意思。在计算机中,相比CPU,memory和外设的速度是非常慢的,因而在memory和memory(或者memor...
2019-08-30 09:09:40
700
转载 linux内核之dmaengine
dmaengine framwork主要分为两部分:DMA controller 和DMA engine API。涉及内核相关文档:Documentation/damengine目录、Documentation/devicetree/bindings/dma/、Documentation/DAM-API-HOWTO.txt\DMA-API.txt\DMA-attributes.txt1、dma...
2019-08-30 09:08:28
1317
1
转载 Linux 下的DMA浅析
DMA是一种无需CPU的参与就可以让外设和系统内存之间进行双向数据传输的硬件机制。使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率。DMA经常与硬件体系结构特别是外设的总线技术密切相关。一、DMA控制器硬件结构DMA允许外围设备和主内存之间直接传输 I/O 数据, DMA 依赖于系统。每一种体系结构DMA传输不同,编程接口也不同。...
2019-08-30 09:07:39
499
转载 Linux内核中常见内存分配函数
Linux内核中常见内存分配函数1.原理说明Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示。四级页表分别为:页全局目录(Page Global Directory)页上级目录(Page Upper Directory)页中间目...
2019-08-29 18:09:47
443
原创 linux驱动 mmap映射多块地址
mmap函数的使用,与驱动中mmap函数的实现mmap怎样使用,怎样实现,为什么mmap可以减少额外的拷贝?下面简单介绍。一、mmap的使用*内存映射:#include <sys/mman.h>void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);i...
2019-08-27 20:53:48
1481
转载 Linux驱动mmap内存映射
什么是mmap?上图说了,mmap是操作这些设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址读写数据。但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样的一种机制——内存映射,把设备地址映射到进程虚拟地址,mmap就是实现内存映射的接口。操作设备还有很多方法,如ioctl、ioremapmmap的...
2019-08-27 19:38:25
371
转载 ARM Linux下的phys_to_virt/virt_to_phys函数
1)phys_to_virt/virt_to_phys函数定义arch/arm/include/asm/memory.h 131 #ifndef __virt_to_phys 132 #define__virt_to_phys(x) ((x) - PAGE_OFFSET + PHYS_OFFSET) 133 #define__phys_to_virt(x) (...
2019-08-26 17:28:00
4568
转载 Linux设备驱动之mmap设备操作
1.mmap系统调用void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset);功能:负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改来实现对文件的读取和修改,而不需要再调用read和write;参数:addr:映射的起始地址,设为NULL由系统指定;len:映射到内存的文...
2019-08-26 15:43:12
277
转载 Linux虚拟内存地址转化成物理内存地址
背景现代手机这种SOC(system on chip),因为功耗、Modem等功能soc上集成了很多core,他们还可以是独立的系统在运转。比如ADSP简介ADSP(Application Digital Signal Processing)就是高通的Hexagon DSP ,就是独立运转的一个core+system。这样做不仅可以使用soc上的专用核处理专业的事情,比如上面说的ADSP就...
2019-08-26 15:38:22
605
原创 linux内核驱动 DMA Engine使用
一 DMA control 驱动1. 前言前面文章介绍“ Linux MMC framework ”的时候,涉及到了MMC数据传输,进而不可避免地遭遇了DMA(Direct Memory Access)。因而,择日不如撞日,就开几篇文章介绍Linux的DMA Engine framework吧。本文是DMA Engine framework分析文章的第一篇,主要介绍DMA contr...
2019-08-16 10:45:11
10437
3
原创 DTS中dma详解
通用DMA控制器和DMA请求绑定DMA控制器的DTS 文件必要参数:- #dma-cells: 必须至少为1。用于提供DMA控制器的特定信息。有关详细信息,请参阅下面的DMA客户机绑定。可选参数:- dma-channels: 控制器支持的DMA信道数。- dma-requests: 控制器支持的DMA请求信号数量。例子: dma: dm...
2019-08-15 20:37:51
4675
原创 DTS中video-interfaces接口详解
视频数据管道通常由外部设备组成,例如通过I2C、SPI或UART总线控制的摄像机传感器,以及SoC内部IP块(包括视频DMA引擎和视频数据处理器)。SoC内部块由DT节点描述,与其他SoC块放置方式类似。外部设备表示为它们各自总线控制器节点的子节点,例如I2C。所有视频设备上的数据接口都由它们的子“port”节点描述。端口的配置取决于参与数据传输的其他设备,并由“endpoint”子节...
2019-08-13 16:58:22
8344
转载 通信系统产生EMI的原因是什么?如何进行消除?
无线电通信是把能量以电磁场的方式从一个电路传输到另一个电路。在进行电路设汁或无线电通信时,我们需要的是两个电路之间的能量能够按照一定的要求进行传输,否则将会在设备之间及设备的内部产生电磁干扰。尤其在设计比较复杂的设备电路和其中的复杂单元时,则更应该考虑电磁兼容问题。由于电磁波的无线传播特性,决定了其在传输过程中必然会受到来自外界和自身内部的多种因素的影响。这里我们只讨论通信系统内部产生EMI的...
2018-12-12 10:01:23
1596
转载 常用转接IC,转接芯片整理汇总
常用转接IC,转接芯片汇总EDP输出信号NCS8801 LVDS转EDP、RGB转EDP 封装QFN56 最大分辨率2560*1600用于手机、平板、转接板、液晶驱动板、广告机、可视门铃等等控制器到显示设备上MIPI输出信号SDD2828 RGB转MIPI 封装QFN68 最大分辨率1920*1200用于手机、平板、转接板、控制器到显示设备上LVDS输出信号GM8283 TT...
2018-07-26 18:32:03
5327
原创 linux USB从设备使用gadget实现大容量存储设备
硬件平台:fresscale iMX6Qlinux内核版本4.1.15Gadget 框架提出了一套标准API, 在底层, USB 设备控制器 (USB Device Controller, UDC) 驱动则实现这一套 API, 不同的 UDC (通常是 SOC 的一部分) 需要不同的驱动, 甚至基于同样的 UDC 的不同板子也需要进行代码修改。这一层我们可以称之为平台相关层。Linux-USB G...
2018-07-02 19:35:10
17446
7
转载 4.imx6 IPU代码详细分析
4.0 ipu_soc,ipu_channel_t ,ipu_channel_params_t结构体详解1.ipu_soc结构体:struct ipu_soc { unsigned int id; //ipu的ID号 unsigned int devtype; //ipu的一些信息,包含cm,ic等模块的地址偏移值 bool online; //表示这个ipu是否正在使用中 /*clk*/ ...
2018-07-02 17:40:27
7805
转载 3.8 poll函数的详细分析
下面看看poll函数,个人感觉这个poll函数还是比较重要的:[cpp] view plain copystatic unsigned int mxc_poll(struct file *file, struct poll_table_struct *wait) { struct video_device *dev = video_devdata(file); cam_...
2018-06-12 09:36:30
327
转载 3.7 ioctl函数中case的详细分析
在分析应用程序的ioctl调用的时候,内核中将这些ioctl的调用信息打印出来,但是打印的是unsignedint类型的16进制值,这样,如果想要分析这些ioctl调用的话,就需要将这些ioctl调用的16进制值计算出来。每一个ioctl调用都有如下的形式:intioctl(int fd, int cmd, …);可以看出来,这个cmd是int类型的,它里面包含一定的信息,下面就来分析这个cmd参...
2018-06-12 09:35:45
286
转载 3.6 mxc_v4l_ioctl函数分析
下面分析mxc_v4l_ioctl函数:[cpp] view plain copystatic long mxc_v4l_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { pr_debug("In MVC:mxc_v4l_ioctl\n"); return vid...
2018-06-12 09:34:59
499
转载 3.5 cam_data结构体详解
[cpp] view plain copytypedef struct _cam_data { struct video_device *video_dev; int device_type; /* semaphore guard against SMP multithreading */ struct semaphore busy_lock; ...
2018-06-12 09:33:50
719
1
转载 3.4 mxc_v4l_open函数分析
下面就来分析这个mxc_v4l_open函数:[html] view plain copystatic int mxc_v4l_open(struct file *file) { struct v4l2_ifparm ifparm; struct v4l2_format cam_fmt; ipu_csi_signal_cfg_t csi_param; ...
2018-06-12 09:32:56
478
转载 3.3 应用程序中函数调用的底层执行流程
在3.1节分析的probe函数中,它的核心函数video_register_device的part3中(v4l2-core/v4l2-dev.c文件),通过vdev->cdev->ops= &v4l2_fops;将字符设备的结构体cdev的file_operations函数集指向了v4l2_fops,如下所示:[cpp] view plain copystatic const ...
2018-06-12 09:32:05
394
转载 3.2 vidioc_int_* 类函数的调用过程
在《2.master和slave的匹配过程》中我们分析了master设备和slave设备的匹配过程,但是在操作过程中,如果想要获取slave设备的一些信息,该如何获得呢?你也许会说,只需要定义一个函数,去slave设备文件中获取即可,但是,如果一个驱动会支持好几个slave设备,那么对于不同的slave设备,驱动中都需要为它们定义一个功能相似的函数。如果是多master对应多slave设备的情况下...
2018-06-12 09:31:26
549
强大的右键管理工具
2017-09-08
split_bootimg.pl 解包boot.img initramfs ramdisk工具
2015-09-06
autoit3.zip
2013-05-16
存储服务器rootfs 1.02
2013-04-06
存储服务器rootfs
2013-04-06
嵌入式rootfs
2013-04-03
H.264Dec-Encode
2013-03-14
zlib-1.2.3.tar.gz
2013-03-08
dropbear-0.52.tar.gz
2013-03-08
linux usb摄像头源代码
2013-03-07
s3c6410 自制 uboot 源代码 第二版 2.0
2012-10-11
s3c6410 自制 uboot 源代码
2012-10-10
LTIB VJ.tar.gz
2012-05-23
reqPackages.rar
2012-05-23
Nitro Pro 7 破解 PDF编辑制作工具
2012-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人