- 博客(52)
- 资源 (5)
- 收藏
- 关注
原创 firfly-rockchip sdk 环境搭建-Ubuntu24.04
再次尝试repo init --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rk3588_linux_release.xml。3. 拷贝git-repo文件夹中的repo 到 ~/.bin 目录下。1. 从清华镜像网站下载 git-repo。显示找不到repo,配置repo。
2024-10-08 20:26:15
783
原创 openeuler 使用指令查找U盘:输入fdisk -l,内核崩溃 ,系统重启,使用lsblk显示正常,数据传输正常
虚拟地址也同样最大支持48位支持,所以在处理器的架构设计上,把虚拟地址空间划分为两个空间,每个空间最大支持256TB。(1)用户空间:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff,一共有256TB。(3)内核空间:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff。内核空间:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff。因为,很显然,我们将变量声明为const,是希望它能受到保护的!
2023-11-02 14:43:55
585
原创 编译构建 meson ninja
其中–prefix选项是配置安装百目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。如果配置了–prefix,如:度$ ./configure --prefix=/usr/local/test1。安装后的所有资源文件都会被放在/usr/local/test目录中,不会分散到其他问目录。编译选项--prefix。
2023-10-11 14:16:37
557
原创 PCIE基础知识-3
每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。针对bit4~31,某些位为只读,且0来表示需要的地址空间大小,比如一个PCI设备需要占用1MB的地址空间,那么这个BAR就需要实现高12bit是可读写的,而20-4bit是只读且为0。中断:PCI设备需要向内存(SDRAM)中写入一些数据,该PCI设备会向CPU请求一个中断,然后CPU首先先通过PCI总线把该PCI设备的数据读取到CPU内部的寄存器中,然后再把数据从内部寄存器写入到内存(SDRAM)中。a.向BAR寄存器写全1。
2023-09-21 10:34:57
720
原创 ATLAS 200通过PCIE 接入RK3588-EP模式
客户的AI业务程序运行在Host系统中,产品作为Device系统以PCIe从设备接入Host系统,Host系统通过PCIe通道与Device系统交互,将AI任务加载到Device侧的昇腾 AI 处理器中运行。RC模式:rk3588 和 ATLAS 200 可分别独立处理自身业务数据,不存在业务互相依赖,二者可通过网络等方式进行通信,ATLAS 200 的CPU直接运行用户指定的AI业务软件,接入网络摄像头、I2C传感器、SPI显示器等其他外挂设备作为从设备接入产品。
2023-09-20 16:30:02
2062
1
转载 PCIe 总线基础 驱动接口 和 BAR空间详解-转载
系统软件必须要先确认设备地址空间的大小(size)和类型(type,决定通过何种方式映射 IO, NP‐MMIO or P‐MMIO ),这些信息只有硬件设计者才清楚的,所以size和type信息都是通过hard-codes写死在BARs的低bits中,系统软件可以通过读到这些信息,构建出访问硬件地址空间的方法,实现按照device要求的方式去访问到设备内部的地址空间中的数据。在一个系统中的每一个设备(device)在地址空间的大小和类型是不同的,对应不同的访问需求。如图中所示,为0xF9000000。
2023-09-20 16:28:46
2193
原创 PCIE研究-2
由于4K的配置空间是directly mapped to memory的,那么PCIe规范必须保证所有的PCIe设备的配置空间占用不同的内存地址,按照PCIe规范,支持最多256个bus,每个Bus支持最多32个PCIe devices,每个device支持最多8个function,也就是说:占用内存的最大值为:256 * 32 * 8 * 4K = 256MB。PCIe在存储域地址空间分为三部分,PCIe控制器本身的寄存器、PCIe设备的配置空间、PCIe设备空间。下面开始讨论映射关系。
2023-09-18 11:54:46
2173
原创 LINUX内核启动流程-2
它在操作系统的进程切换中具有重要意义,可理解为所有进程的总目录表,其中存放每一个任务(task)局部描述符表(LDT,Local Descriptor Table)地址和任务状态段(TSS,Task Structure Segment)地址,完成进程中各段的寻址、现场保护与现场恢复。main函数中能够适应保护模式的中断服务体系被重建完毕才会打开中断,而那时候响应中断的服务程序将不再是BIOS提供的中断服务程序,取而代之的是由系统自身提供的中断服务程序。目的是避免中断在此期间的介入。
2023-09-18 09:55:28
89
原创 嵌入式基础知识-I2C
I2C总线I2C总线是由公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。
2023-09-04 16:59:09
174
原创 mipi摄像头驱动相关
V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。cif函数地址:kernel/drivers/media/platform/rockchip/cif。
2023-09-04 16:12:00
326
转载 SCP命令传输文件
scp -r 【本地文件的路径】/文件夹 【服务器用户名】@【服务器地址】:【要存放文件夹的路径】scp 【本地文件的路径】/文本文件 【服务器用户名】@【服务器地址】:【要存放文件的路径】scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】-S program: 指定加密传输时所使用的程序。scp【本地或远程文件的路径】【服务器用户名】@【服务器地址】:【远程或本地文件的路径】scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】 【本地文件的路径】
2023-08-16 10:07:02
12693
原创 嵌入式软件测试-测试类型
如果测试负载在系统允许的负载范围内,那测试的是系统的功能,此时的测试属于功能性测试;·如果测试负载正好和系统允许的负载一致,那测试的就是系统的性能,此时的测试属于性能测试。·如果测试负载超过系统允许的负载范围,这时对系统来说属于一种“异常”情况,那测试的就是系统容错性了,此时的测试属于可靠性测试中的压力测试。单运行边界值输入法是指在每次运行的时候,输入的都是系统允许的边界值的测试方法。单运行正常值输入法是指在每次运行的时候,输入的都是系统允许的正常值的测试方法。
2023-08-08 16:44:13
1719
原创 嵌入式软件测试方法-质量模型
软件产品质量模型将一个软件产品需要满足的质量要求总结为8个属性(功能性、兼容性、安全性、可靠性、易用性、效率、可维护性和可移植性),每个属性又可细分出了很多子属性,如图4-7所示。“几个9”是衡量系统可用性的一种标准方式,其表示产品、系统在1年的使用过程中最多可能出现的业务中断时间,表4-6给出了“几个9”的计算方法、宕机时间和适用的产品领域。软件产品质量属性中的兼容性是指软件产品在共享软件或者硬件的条件下,产品、系统或者组件能够与其他产品、系统或组件交换信息,实现所需功能的能力。
2023-08-08 14:24:41
288
原创 shell脚本及其linux内核中的作用
要运行.sh文件,可以使用命令行界面输入“./文件名.sh”并按下回车键。application programs:应用程序,比如数据库(DBMS),邮件服务(mail)等,他们可能需要使用到硬件,这时候就要通过shell去调用内核,继而操作硬件。.sh文件可以通过在文件开头添加“#!在Linux系统中,.sh文件需要设置执行权限才能运行,可以使用“chmod +x 文件名.sh”命令进行设置。.sh文件可以通过命令行参数来接收输入参数,例如“./文件名.sh 参数1 参数2”。
2023-07-25 09:53:04
253
原创 RK3588 及ATLAS 板卡压力测试stressapptest
cd stressapptest./configure --target=arm-linux --host=arm-linux --prefix=安装路径 CC=交叉编译工具(xxx-gcc)makemake install。-m: number of memory copy threads to run 复制线程数 (Memory Copy)参考测试命令:stressapptest -s 600 -M 64 -m 8 -C 8 -W。通过网络传输完成后可按照3588使用方式使用即可。
2023-06-28 18:53:07
1985
1
原创 创建固定大小的文件(window 和 UBUNTU)
Windows提供了一个强大的文件系统管理工具:fsutil.exe例,在D盘上创建一个空文件file.txt,文件大小10k字节。
2023-06-27 10:14:45
1043
原创 网络通信性能测试方法-iperf、ping
在udp下,以100Mbps为数据发送速率,客户端到服务器192.168.2.177 上传带宽测试,测试时间为60秒。下载后使用命令sudo dpkg -i xxx.deb 安装依赖,然后安装iperf3。在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。根据板卡类型,选择合适的iperf软件版本下载 (ARM64)不断修改数据发送速率,查看网络最大吞吐量。客户端同时向服务器端发起30个连接线程。
2023-06-21 15:43:38
996
原创 RK3588适配OAK深度相机
输入测试指令测试相机:python3 depthai/depthai_demo.py。Linux平台我们建议使用git直接拉取depthai仓库。1、相机接RK3588USB3.0接口。添加udev规则以使设备可访问。2、安装相机相关依赖。
2023-06-13 18:34:32
337
原创 双WiFi主从模式通信--基于Hi3861测试代码
在app_main()函数中途中位置添加函数:uart_demo(),AiLink_main();PC命令:AT+FTM=0,固件回复:OK。命令:start_test。
2023-06-13 09:21:10
143
原创 ubuntu主板网迅网卡初始化方法
2、将网卡固件拷贝到U盘中,挂载到主板上。3、输入如下指令安装网卡固件包。输入ifconfig -a。可以看到网卡IP 等信息。1、在系统中新建文件夹。
2023-06-12 19:09:46
304
原创 双WiFi模组主从模式通信测试
ESSID固定为:BZL_xxxxxxxx (xxxxxx为MAC地址)查询成功回复:blz_info:A板扫描的WiFi信息\r\nOK。查询成功回复:blz_mac:设备mac信息\r\nOK。查询成功回复:blz_ver:设备版本号\r\nOK。3、查询A板扫描的wifi信息(包括对应的信号强度)命令:NI+RESETSTATE?命令:NI+WFINFO?查询失败回复:ERROR。查询失败回复:ERROR。查询失败回复:ERROR。不正常回复:ERROR。命令:NI+MAC?命令:NI+VER?
2023-06-09 19:50:24
458
原创 RK3588串口(RS232,TTL)调试
PC 机:sudo picocom -b 115200 /dev/ttyUSB0。使用串口线连接开发板和PC机,在PC机上同样指令安装串口工具picocom。开发板:sudo picocom -b 115200 /dev/ttyS0。串口发送测试:直接在开发板串口界面输入数据,查看是否在PC机界面显示。串口接收测试:在PC机串口界面输入数据,查看在开发板界面是否显示。若都能够正常显示,则说明开发板串口配置以及数据收发功能正常。开机后可以通过命令 查看串口是否配置成功。在设备树中配置好串口节点。
2023-06-07 18:26:33
3059
原创 git 打patch包出现脏文件
(注:git apply是另外一种打patch的命令,其与git am的区别是,git apply并不会将commit message等打上去,打完patch后需要重新git add和git commit,而git am会直接将patch的所有信息打上去,而且不用重新git add和git commit,author也是patch的author而不是打patch的人)$ git apply --stat 0001-limit-log-function.patch # 查看patch的情况。
2023-06-06 19:05:01
474
原创 ubuntu git 安装以及修改服务器地址
sudo apt-get install git安装完成后进行git配置,输入指令git config --global user.name "xxx"和 git config --global user.email "你的邮箱地址"创建完公钥后,需要上传。使用命令cd ~/.ssh进入~/.ssh文件夹,输入gedit id_rsa.pub打开id_rsa.pub文件,复制其中所有内容。接着访问http://git.oschina.net/profile网页,点击SSH公钥,标题栏可以随意
2022-03-15 15:50:27
986
原创 硬件设备快速重启失败问题
由于硬件设备快速重启,当设备掉电不充分,底层寄存器清除不充分又重新写入会导致设备重启失败。设备电压未达到阈值门限,设备将会异常重启,此时设备会打印harddefult显示板子崩溃,其实不是软件问题而是因为硬件电压导致设备异常重启。寄存器值乱序导致的。另外设备线程优先级未合理分配会或者进程之间调度时延时不充分会导致时序太短CPU获取不到资源导致程序异常的问题。设备软重启的方式:函数重启,看门狗重启。...
2022-03-04 14:43:14
313
原创 720串口升级压测死机问题
模组压力测试ota死机,初步分析:OTA下载正常校验通过,重启后没有任何日志,但是断电上电后系统可以正常启动,且是进去新升级成功的区域开启boot log方法EFUSE wmap 0x0e 2 0808 指令,重新上电应该可以看到比较全boot端console logROM开始到interface前看更多log:在lwipopt.h中看看tcp_debug对应宏升级没有其他的log,需要你们自己添加log才行,我是觉得ota升级是tcp的方式,开log可以看
2022-03-03 17:34:23
184
原创 720DN创建UDP客户端后发送组播数据出问题
ATPT=14,1,224.0.0.251,5151:edge.mid.local发了这个之后 按理说应该是[ATPT] OK,1#但实际收到] OK,1#不全是一个问题其次服务器那边没有收到而且如果没有发送成功 为啥不是显示ERROR发送发了 反馈一个不全的OK 但服务器那边啥都没有收到原因:这里直接改成了广播发送如何请求mdns的组播消息?通过创建UDP服务器解决。背景技术:mdns(multicastdomainnamesystem,组播.
2022-02-28 17:25:58
1855
原创 720获取蓝牙MAC地址的方法
1、打开蓝牙相关AT指令2、输入ATBp=1可以看到蓝牙初始化过程中会打印蓝牙MAC地址信息3、根据AT指令代码,在menuconfig中打开蓝牙相关选项4、创建全局变量,调用ble_app_init()函数,获取MAC地址后,调用ble_app_deinit();否则会影响WiFi和蓝牙相关AT指令的使用。...
2022-02-10 14:56:00
6821
原创 iperf-3.1.3-win32连接失败问题--connect refusted
使用iperf 进行吞吐量测试,PC作为server和client均连接失败。显示如下:使用网络调试助手排查发现连接成功更换iperf版本后,连接成功。iperf-2.0.9-win64.zip
2022-01-24 13:49:37
5888
原创 TCP粘包以及UDP丢包问题
1、TCP和UDP。TCP(transport controlprotocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagramprotocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的选择取决于应用的环境和需求。一般情况下,普通数据的网络传输采用高效率的udp,重要数据的网络传输采用高可靠性的TCP。TCP的目标是为用户提供可靠的端到端连接,保证信息有序无误的传输。它除了提供基本的数据传输功能外,还为保证可靠性采用了数据编号
2022-01-19 14:33:51
4684
原创 8721D问题记录
1、8721D上线后使用产测AT指令,连网失败。解决思路,1、怀疑供电不足,关闭蓝牙功能,配网失败2、出现移植ATSC指令到MP后,看门狗崩溃问题3、编译MP固件时,需要已编译hp 和lp中的正式固件,否则会出现km0_km4_image.bin不存在的问题...
2022-01-18 10:45:14
256
敏捷软件开发:原则、模式与实践
2016-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人