自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

新时代农民工---码农

嵌入式软件,目标检测,目标跟踪。

  • 博客(49)
  • 资源 (12)
  • 收藏
  • 关注

原创 Arm Generic Interrupt Controller v3 and v4(GICv3v4)学习(二)

该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考,以官网参考文档为准。Arm Generic Interrupt Controller v3 and v4学习一共分为三章,这是第二章。

2024-01-19 17:04:50 221

原创 Arm Generic Interrupt Controller v3 and v4(GICv3v4)学习(一)

该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考,以官网参考文档为准。Arm Generic Interrupt Controller v3 and v4学习一共分为三章,这是第一章。

2024-01-14 17:28:30 1114

原创 Armv8-R AArch32 architecture概念学习

当一个虚拟中断被停用(deactive)时,可以对其进行配置,即当该虚拟中断被停用时,相应的物理停用消息也会发送给GIC分发器。系统寄存器使用一种标准的命名格式,.,来识别特定的寄存器以及寄存器内的控制位和状态位。例如,寄存器可能提供有关core已采取的abort exception的综合信息,或提供一个启用或禁用缓存的控制。程序状态寄存器包括当前程序状态寄存器(CPSR)、应用程序状态寄存器(APSR)和已保存的程序状态寄存器(SPSR)。

2024-01-09 20:57:56 1109

原创 AArch64 Exception Model学习

一节中提到的,异常到达的向量已经提供了关于异常时处理器状态的信息。例如,由于异常在异常输入和退出期间应该被屏蔽,因此向量表“使用SP_ELx时来自当前EL的异常(Exception from the current EL while using SP_ELx)”区域中的代码只会在异常情况下被触发。例如,如果中断在EL1中被屏蔽,并且一个中断被路由到EL2,那么EL1掩码将不会影响EL2的操作。在几乎所有的情况下,中断控制器都与系统中的AArch64处理器配对,用于整理、优先级排序和处理所有的中断。

2024-01-09 18:59:36 976

原创 AArch64 memory management学习(二)

注意:这两章只是介绍AArch64 memory management,还有AArch64 memory management examples,AArch64 memory attributes and properties等没介绍。

2024-01-08 20:40:30 991

原创 Security介绍

当我们谈到Security(安全,下文不再翻译)时,通常用“asset(资产)”一词来指代我们想要保护的东西。例如,一个加密密钥通常被归类为一个asset。让我们考虑一下我们可能想要保护的asset的属性。我想保护什么东西?我想保护的那个东西是什么?我保护的是谁或什么东西?被保护的东西的价值怎样?

2024-01-08 11:01:22 695

原创 AArch64 memory management学习(一)

内存管理描述了如何控制对系统中内存的访问。每次OS(操作系统)或应用程序访问内存时,硬件都会执行内存管理。内存管理是一种为应用程序动态分配内存区域的方法。

2024-01-07 17:55:54 907

原创 Cortex-M3如何跳出BusFault,跳过出错代码,程序往下执行

如上图所示,可以看到触发BusFault前BFSR寄存器第7为高,表示BFAR寄存器有效,且BFAR与MMAR寄存器一致,都为0xE000EDF8。此时,需要注意SP指针为0x2000A208,并且存储内容为0x2000A20C,这有助于找到触发BusFault,压栈前的SP指针。故在采用SP指针修改PC指针的时候,一定要注意压栈的次数,SP改变次数,反推进入Handler时候的SP指针。因此,只需要在该地址上,给0x77B4+4,这样清除中断标记位后,就能使程序不再进入BusFault。

2023-09-07 17:19:05 442

原创 Unable to checkout a viewer license necessary for use of the ModelSim graphical user interface.Vsim

【代码】Unable to checkout a viewer license necessary for use of the ModelSim graphical user interface.Vsim。

2023-06-24 15:34:28 984

原创 linux驱动中cdev,class及device区别

cdev、class和device都是Linux驱动程序中重要的结构体类型,分别代表了字符设备、设备类和具体设备实例,它们各自有不同的职责,但又相互关联,共同协作完成设备驱动程序的实现。因此,对于字符型设备,驱动程序结构通常如下/* dtsxxx 设备结构体 */ struct dtsxxx_dev {/* 设备号 */ struct cdev cdev;/* 类 */ struct device * device;/* 设备 */ int major;/* 主设备号 */ int minor。

2023-04-21 18:35:22 1527 1

原创 浅析linux驱动中uImage,zImage,bootz,bootm

uImage和zImage都是Linux内核启动时可能使用到的镜像格式。

2023-04-21 17:22:39 1476

原创 U-Boot移植

作为初学者,有必要了解U-Boot是如何添加一块新的开发板。通常需要做什么配置?本文梳理一下U-Boot一般需要添加修改的文件,帮助理解U-Boot移植过程IMX6U嵌入式Linux驱动开发指南V1.8NXPimx6ull−−−正点原子imx6ullalientekimx6ull。

2023-03-28 17:29:41 495

原创 U-Boot Makefile编译常用命令

对于U-Boot常常需要用Makefile编译,而这又需要对U-Boot顶层Makefile进行分析,虽然能深度了解常用命令的意义。但对于使用而言,意义不大。因此,本文章整理了一些常用的命令,并给出简单解释,使其快速记住上手。用于编译 uboot,该命令用于生成 u-boot.bin 文件和其他的一些与 uboot 有关的文件,如 u-boot.imx 等。

2023-03-25 15:25:16 448

原创 U-Boot常用命令图

整理一下uboot常用命令思维导图,供平时查看使用,方便记忆。

2023-03-23 16:57:27 65

原创 解决disagrees about version of symbol device_create

学习正点原子led驱动移植,出现下面错误:modprobe newchrled.ko newchrled: disagrees about version of symbol device_createnewchrled: Unknown symbol device_create (err -22参考手册给的办法比较概括,如下图所示,现在给出具体的步骤解决核心思想:内核版本与模块版本不一致造成,更改版本一致即可解决。1 查看网络挂载的uboot环境,确保编译的zImage和设备树能正常下载

2022-04-22 15:32:34 4329 3

原创 解决I.MX6U驱动移植LED闪烁

最近学习正点原子的驱动移植,当下载程序到开发板的时候,LED一直闪烁,检查程序也没发现问题。解决办法:进入开发板系统,在串口终端执行指令控制对应的 IO 来控制对应的器件在串口终端输入命令:echo none > /sys/class/leds/red/trigger注意:要学会自己查看是在哪个目录下,有的可能是下面的目录echo none > /sys/class/leds/sys-led/trigger最后附上驱动加载常用命令,方便记忆驱动加载: 1、跳转到指定目录 c

2022-04-21 10:26:20 352

原创 嵌入式驱动模块的加载与卸载

最近学习正点原子嵌入式驱动模块加载与卸载的时候,使用命令:modprobe chrdevbase.ko 出现hrdevbase: version magic '4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ’ should be '4.1.15 SMP preempt mod_unload modversions ARMv7 p2v8 ’问题原因:这种报错是内核版本和模块版本不一致,所以导致加载不成功温馨提示:这里的内核版本不是ubun

2022-04-19 11:38:11 2931 4

原创 Swin Transformer理解

最近在阅读transformer,也作个笔记,供学习使用。希望阅读者有CNN的基础,如YOLO,MobileNets,ResNet等,并且一定要先阅读ViT。不然读起来可能比较吃力。当然笔记也尽可能解释清楚1 核心参考① B站跟李沐学AI② Swin Transformer论文精读【论文精读】友情提示:看完笔记,还需要阅读原文,去看代码,才会有大的收获。2 研究背景:ViT的缺点1、显存占用–Token数量。Token是指模型运行中的最小处理单元。ViT中的Token指的是一个Patch,T

2022-04-13 14:25:48 5859 4

原创 python查看神经网络参数大小

最近在写论文需要对比网络大小,平时可能用不到,做个笔记。1、利用工具,torchsummary输入安装命令:pip install torchsummary -i https://pypi.tuna.tsinghua.edu.cn/simple加入清华镜像源快一点import torchfrom torchsummary import summaryfrom nets.yolo import YoloBodyif __name__ == "__main__": # 需要使用devic

2022-04-11 10:22:58 2602

原创 ViT理解

最近在阅读transformer的第一篇文章ViT,也作个笔记,供学习使用。希望阅读者有CNN的基础,如YOLO,MobileNets,ResNet等,不然读起来可能比较吃力。当然笔记也尽可能解释清楚。参考资料① B站深度之眼:CV transformer② 代码网址:https://github.com/lucidrains/vit-pytorch③ 原文:AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT S

2022-03-30 18:54:07 5545 3

原创 解决annaconda下的python环境和华为海思下的python环境冲突

最近学习vit,使用命令 pip install vit-pytorch安装vit-pytorch但是安装的时候出现安装不成功,理由是pip的版本过低,让你升级pip安装包,然后升级了继续安装,又出现下面的情况:To fix this you could try to: 1. loosen the range of package versions you've specified 2. remove package versions to allow pip attempt to solve th

2022-03-29 11:37:58 4630

原创 解决改造mfgtools工具烧写程序一直处于No Device Connected状态

在学习正点原子改造mfgtool烧写程序时,如下所示,软件一直处于No Device Connected状态解决办法:将自己编译的zImage改为imx_v7_mfg_deconfig配置编译生成的zImage即可具体:1、打开自己写的脚本im6ull_alientek_emmc.sh将第三行代码改为make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_mfg_defconfig2、运行脚本 ./imx6ull_alientek_em

2022-03-25 17:18:54 3533 1

原创 bootz启动linux内核

分析完uboot启动流程,该篇分析bootz启动linux内核。如下图所示,bootz 命令的执行函数为 do_bootz,主要分为三个阶段:①bootz_start;②bootm_disable_interruptes;③do_bootm_states。1、bootz_start函数bootz_start()主要分为四个阶段:① do_bootm_states();② images->ep;③ bootz_setup();④ bootm_find_images()(1) do_bootm_

2022-03-15 16:37:22 1853

原创 uboot启动流程详解

要分析boot启动流程,首先要找到程序入口地址,可以通过编译uboot生成u-boot.lds,通过查看链接脚本u-boot.lds知道入口点是 arch/arm/lib/vectors.S 文件中的_start。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(_start)//代码当前入口点: _start, _start 在文件arch/arm/lib/vecto

2022-03-14 18:41:07 11875 7

原创 STM32F4驱动GPS(寄存器版)

本次使用STM32F4的USART1对GPS模块进行驱动,并且将GPS的时间、经纬度通过串口打印出来。gps模块与接线图注意:GPS 模块需放到窗户边/阳台,否则可能收不到 GPS 信号。1、GPS驱动配置(gps.c)#include "includes.h"//定义接收信息结构体变量struct GPS_Data Save_Data;/*****************************函数名:clrStruct函数参数:无函数返回值:无函数功能:清除接收结构体信息

2022-03-10 15:28:13 1820 2

转载 解决uboot用NFS下载程序出现:Loading: *** ERROR: File lookup fail

解决uboot用NFS下载程序出现:Loading: *** ERROR: File lookup fail原因:ubuntu中的NFS版本高于uboot中的版本,需将ubuntu中的版本改为兼容与uboot中的版本(V2)解决办法:0、确保虚拟机ip与主机ip地址不一致,否则会出现下面情况可设置手动ip,且自定义特定虚拟网络1、重启虚拟机ip,然后ifconfig查看配置的ip是否为自己设置的sudo ifconfig ens33 downsudo ifconfig ens33 up

2022-03-09 14:45:24 1058 4

原创 uboot网络操作解决:ARPRetry count exceeded; starting again ping failed; host 192.168.86.128 is not alive

uboot网络操作解决:ARPRetry count exceeded; starting again ping failed; host 192.168.86.128 is not alive最近在uboot网络操作的时候,如下图所示:uboot去ping虚拟机里的ubuntu发现怎么都ping不了,下面给出解决办法0、将开发板与电脑处于同一网段内,最简单的办法就是将网线插在同一个路由器下。1、将虚拟机网络连接设置为桥接模式(B)2、ifconfig查看ip;然后sudo ifconfig e

2022-03-08 19:14:15 7201 1

原创 STM32F4xx驱动WIFI串口收发(寄存器版)

STM32F4xx驱动WIFI串口收发(寄存器版)1、接线方式 wifi MCU(USART2) VCC VCC(3.3)注意 GND GND RX PA2(USART2_TX) TX PA3(USART2_RX)2、配置wifi.c#include "stm32f4xx.h"#include "string.h"#include "usart1.h"#include "usart2.h"#include "delay.h"#inc

2022-03-08 15:09:31 767

原创 STM32F4驱动MPU6050

STM32F4xx驱动MPU6050MPU6050.c文件1、初始化MPU6050/*返回值:0,成功 *其他,错误代码 */u8 MPU_Init(void){ u8 res; //IIC_init();//初始化IIC总线 MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80); //复位MPU6050 delay_ms(100); //Jahol Fan :奇怪的问题,延时改长了,就不能兼容HP-6 MPU_Write_Byte(MPU_PWR_M

2022-03-07 19:42:43 6177

原创 ubuntu无法安装libncurses5-dev解决办法

学习嵌入式uboot移植,需要安装libncurses5-dev,执行命令如下:sudo apt-get install libncurses5-dev但是出现下面问题:E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_6.2-0ubuntu2_amd64.deb 暂时不能解析域名“cn.archive.ubuntu.com”E: 有几个软件包无法下载,要不运行 apt-get upda

2022-03-07 17:25:54 4315

原创 win10下安装pycocotools

最近在训练网络的时候发现需要安装pycocotools。但是在安装的过程中发现pycocotools是在linux环境下运行才不爆粗。于是在网上下载了pycocotools-windows。发现还是不行,搜索了许多教程仍然不能解决。于是自己发现了一个简单暴力的方法。1、首先在网上下载pycocotools-windows。pip install pycocotools-windows2、找到下载所在在目录。我自己的放在了自己创建创建环境yolo5下的Lib/site-packages。然后直接暴力将

2022-03-04 15:01:02 1045 6

原创 基于CNN目标检测有代表意义的几篇论文

近几年目标检测的论文。相关论文可到arxiv上搜索。目前主流的目标检测依旧为YOLO及各个变体,包括基于Transformer的YOLOS。

2022-02-28 10:59:57 2550

原创 浅析嵌入式开发中的RAM和ROM

在嵌入式开发中常常会遇到RAM,ROM,flash,内存等等一些问题,先梳理一下备用。1、ROM:只读存储器。优点:容量大,掉电不丢失;缺点:读取速度慢。事实上,“只读”定义不准确,如手机的8+128G。这里8指的是RAM;128指的是ROM。而这里的ROM是flash,如EMMC、UFS、NAND flash都可以进行写操作(擦除–>发送要写地址或扇区–>写数据)。由于历史原因,flash仍被称为ROM。2、RAM:随机存储器。优点:速度快,直接与CPU通信;缺点:掉电丢失,容量小。3

2022-02-25 09:38:01 1181

原创 i.mx6ull裸机烧写设备异常

i.mx6ull裸机串口实验,发现串口一直无响应,检查很多代码配置发现都没问题。于是无奈将例程烧写进去,发现串口还是没连接。检查半天,发现烧写的速度居然高达3.7MB/s。这显然有问题,正常烧写速度也就300~400k。下面记录修改过程:1、 ls /dev/sd* 发现设备异常2、拔出SD卡,然后执行 sudo rm /dev/sdb/ ; ls /dev/sd* 查看是否删除设备3、插上SD卡,注意要连接在ubuntu下,然后输入 ls /dev/sd*,查看设备是否正常4、输入下载命

2022-02-24 16:58:50 4991

原创 imx6ull配置ARM PLL倍频先使能再倍频系统不运行

imx6ull配置ARM PLL倍频先使能再倍频系统不运行按照传统配置方法,一般先使能然后配置各种寄存器,但在imx6ull中ARM PLL倍频需要在使能寄存器为0的时候才能配置,修改方法如下:将使能调于倍频语句后即可。...

2022-02-21 14:40:51 173

原创 imx6ull编译出现no such instruction: `mrs r0,cpsr‘错误提示

no such instruction: `mrs r0,cpsr’imx6ull编译出现no such instruction: `mrs r0,cpsr’,如图所示1、注意.s后缀大小写要保持一致2、注意工具链

2022-02-17 17:34:44 1402 1

原创 vscode安装ARM插件搜不到

正点原子教程里需要安装ARM插件,如图所示,教程里能搜到,可实际自己安装的时候却搜不到点击安装Arm Assembly即可,功能完全一样。

2022-02-10 12:18:24 4299 8

原创 ubuntu下安装gcc出现 W: 无法下载

ubuntu下安装gcc出现 W: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/focal/InRelease 暂时不能解析域名“cn.archive.ubuntu.com”ubuntu下安装gcc出现W: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/focal/InRelease 暂时不能解析域名“cn.archive.ubuntu.com”1、首先检查网络是否连接成功,如图所示出现连接成功标志

2022-02-08 12:53:58 2600

原创 YOLOv4损失函数

YOLOv4损失函数第一行:正样本坐标损失第二行:正样本置信度损失(采样交叉熵计算损失)第三行:负样本置信度损失(采样交叉熵计算损失)第四行:正样本分类损失(采样交叉熵计算损失)LOSS=L(正样本坐标损失)+L(正样本置信度损失)+L(负样本置信度损失)+L(正样本分类损失)附:YOLOv1损失函数;YOLOv2损失函数;YOLOv3损失函数...

2022-01-12 10:41:08 5514 13

原创 YOLOv3损失函数

YOLOV3损失函数第一行与第二行:正样本坐标损失第三行:正样本置信度损失(采样交叉熵计算损失)第四行:负样本置信度损失(采样交叉熵计算损失)第五行:正样本分类损失(采样交叉熵计算损失)LOSS=L(正样本坐标损失)+L(正样本置信度损失)+L(负样本置信度损失)+L(正样本分类损失)附:YOLOv1损失函数;YOLOv2损失函数...

2022-01-10 16:16:28 2538

STM32F4驱动GPS(寄存器版)

1、代码除含GPS程序还含有ds1302和各个STM32F4外设的通用配置,如usart,tim,adc等 2、GPS模块用户手册 3、GPS模块使用说明等

2022-03-10

STM32F4xx驱动WIFI串口收发(寄存器版)

STM32F4xx驱动WIFI串口收发(寄存器版)

2022-03-08

STM32F4驱动MPU6050

该程序还有key、led、tim4、tim3_ch2、tim3_ch3、motor、spi、bmp、iic、sht20、lcd、uart等裸机驱动程序。只要在main函数修改调用即可

2022-03-07

嵌入式开发常用的一些软件

1、CH340驱动(USB串口驱动) 2、Putty 3、SecureCRT7.1 4、Source Insight 4.0 5、网络调试助手XNET及dotNetFx40_Full_x86_x64 6、FileZilla 7、SDFormatter(内存卡修复工具) 8、winhexv19.7 9、XCOM V2.0

2022-03-07

Netron-Setup-5.4.7.exe

深度学习模型可视化工具

2021-12-30

电子科技大学多源信息融合(平时作业+综合设计)

平时作业:一至八讲;综合设计:文档+matlab代码。注意:平时作业与综合设计多为自己书写和网上整理,答案并不唯一,请不要照搬,仅供参考。

2021-12-14

电子科技大学计算机视觉(PPT及五个实验报告)

该课程适合计算机学院的课程,注意实验报告多为自己书写,实验结论,总结及心得体会,改进方法需要自己改进。本人能力有限,仅适合参考。

2021-12-14

电子科技大学数字图像处理课后作业

含作业第三至第十章,上课PPT,刚萨雷斯第三版数字图像处理。作业仅提供一种思路,答案并非唯一,仅提参考。

2021-12-14

电子科技大学现代数字信号处理课后习题(仿真代码+整理word)

电子科技大学现代数字信号处理课后习题(第三章到第七章:仿真代码+整理word;剩下章为仿真代码)。答案并非唯一,仅供参考。

2021-12-14

电子科技大学嵌入式系统设计(PPT+平时作业整理+一套试卷+部分课后答案)

平时作为为自己整理,答案并非唯一,不建议全部照搬。复习建议以PPT为主,可以慕课视频为辅。

2021-12-14

应用随机过程期末试题(适合电子科技大学信通学院)

包含2013/2014/2015/2017/2018(2013/2017不完整,并且含答案的试卷有的答案不正确),具体复习建议以上课PPT为主

2020-12-18

电子科技大学随机过程课后习题答案

答案不完整,介意勿下

2020-12-18

空空如也

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

TA关注的人

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