自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Spark wang的博客

stm32 ucos RTOS 嵌入式Linux

  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 opencv学习之边缘处理

 边缘处理问题:l图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理,7x7时有三个像素边缘没有被处理。使用OpenCV提供的函数copyMakeBorder()来拓展边界,其原型如下void copyMakeBorder( InputArray src...

2019-01-20 09:23:43 309

原创 opencv学习图像阈值处理

阈值处理可以看做是最简单的图像分割方法,这种方法基于图像中物体与背景之间的灰度差异,而且此分割属于像素级别的分割,因此应用的时候,应该用图像中的每一个像素点的灰度值与选取的阈值进行比较,并作出相应的判断。 阈值类型一阈值二值化(threshold binary) 左下方的图像表示图像像素点的分布情况,蓝色水平线表示阈值。阈值二值化表示,当像素点的值大于阈值时,取最大值max...

2019-01-19 09:05:42 609 1

原创 opencv 操作像素

今天开始学习opencv操作,配合4412开发板的双目摄像头进行学习。图像本质上就是一个由数值组成的矩阵,对于灰度图像(黑白图像),像素是八位无符号数,0表示黑色,255表示白色,对于彩色图像需要用三原色数据来重现不同可见色。在数字成像技术中,常用的主颜色通道是红色、绿色、蓝色,因此每3个8位数值组成矩阵的一个元素。1.1访问像素值要访问矩阵中的每个独立元素,只需要指定它的行号和列号,...

2019-01-17 09:46:47 1103

原创 LINUX内核目录分析

Linux内核源码结构首先分析一下源码目录下的重要的三个单独文件其中第一个问Kbuild(就是kernel build)就是内核编译,这个文件就是Linux内核编译体系需要用到的文件第二个Kconfig就是和内核配置有关的,主要的在每个文件夹中都有Kconfig文件(主要是配置方便)第三个Makefile,这个是整个LINUX内核的总的makefile ,在每个文件夹下面也有M...

2018-12-19 19:36:14 1718 1

原创 UBOOT源码分析的第二阶段分析(1)

今天来分析一下uboot启动的第二阶段,这个start_armboot()函数比较长,有500多行。我们来分析一下启动的第二阶段。我们来分析一下uboot第二阶段要做什么:简单的将就是第一阶段没有做的一些初始化。主要是SOC外部硬件(比如emmc,网卡芯片)uboot本身的一些东西(uboot命令、环境变量)然后最终初始化完必要的东西后进入uboot命令行。 细节分析:...

2018-09-16 16:54:46 448

原创 UBOOT源码分析的第一阶段start.S分析(4)

之前一直在准备计算机三级考试,还有卡尔曼滤波的学习,所以一直没有更新博客,今天继续更新这里补充一下知识:ARM的协处理器https://blog.csdn.net/gameit/article/details/13169405这里链接一下别个的文章。大家可以看看!这里涉及了MMU的很多知识,现阶段我自己有些都不懂,还需要自己不断的学习。所以只能简单的给大家来个框架的认识!第...

2018-09-16 16:36:00 243

原创 UBOOT源码分析的第一阶段start.S分析(3)

之前我们更新到了lowlevel_init代码处了。看到lowlever_init这里的代码还是有点多哈。但是看英语的注释我们也能看懂每一部分的代码到底是干什么的。第42行 push {lr},先将lr压栈之后检测复位状态,这里为什么要检测复位状态呢?(1)复杂的cpu允许多种复位状态,比如直接冷上电,热启动,睡眠状态下唤醒,所以我们要在复位代码中检测复位状态,来判断到底是哪种...

2018-09-03 12:22:52 382

原创 UBOOT源码分析的第一阶段start.S分析(2)

继续更新。看cache_init代码:mrc指令就是将协处理器寄存器当中的数据传入到arm处理器的寄存器当中将协处理器P15中C0,C0寄存器的内容传送到ARM处理器的R0寄存器中然后:R1=R0+0X00F00000;R2=R0+0X0000000F之后orr r2,r2,r1,lsr #20-4;r1的内容右移16位,之后r1和r2进行逻辑或运算,赋值给r2...

2018-09-02 15:04:52 386

原创 UBOOT源码分析的第一阶段start.S分析

最近半个月在研究UBOOT与系统移植,现在就分享一下自己的学习经验。(我自己用的是4412开发板) 首先我们要做的就是找到整个uboot项目的入口。这个入口在uboot.lds当中有定义的。就是ENTRY(_start),因此_start符号所在的文件就是整个程序的起始文件。_start所在的代码就是起始代码。我们把uboot源码导入到source inside(注意一下,这里...

2018-08-28 22:41:41 513

原创 UBOOT与系统移植之编译脚本分析

编译脚本的分析,其实来说是比较简单的,只要懂一下基本的shell语言就行。我们来分析一下4412的编译脚本的语法哈。   第三行首先判断参数为不为空,不为空则执行13行,为空的话执行执行then,打印三行信息之后退出。 第12行到第29行判断判断参数的类型之后,在给sec_path赋值为当前目录的上一目录的文件夹CodeSign4SecureBoot_xxx(这个是...

2018-08-28 08:20:17 642

原创 UBOOT与系统移植之mkconfig详解

作者最近在学习UBOOT移植,每天学习7个多小时,就把我自己学到的东西和大家分享分享。 今天就给大家分析mkconfig文件。这个一句一句的分析。 第11-13行就是普通的变量初始化,赋值。第11行的APPEND赋值no,后面判断赋值为yes是否成立(这个不管)第12行BOARD_NAME等于空(开发板名字)第13行的TARGETS变量在最后没有使用到的(我的441...

2018-08-27 18:11:20 740

原创 UBOOT与系统移植之主Makefile分析(2)

昨天晚上我们分析到了u-boot.lds这个文件,那么我们今天就进入这个文件分析一下。这个是我今晚移植uboot是编译链接产生的一个u-boot.lds文件第六行是一个基地址 0x00000000,它还要加上一个地址-Ttext 0xc3e00000第七行 以四字节对齐第8行 到14行            .text 表示代码段     先放 arch/arm/cpu...

2018-08-25 22:17:02 243

原创 UBOOT与系统移植之UBOOT 主Makefile分析

UBOOT的Makefile分析 本文参照的是ITOP4412开发板的uboot。 从24行到32行是uboot的版本。生成的版本信息就在第34行的那个文件当中version_autogenerated.h当中 查看这个文件可以看到这个是我们自己可以修改的。第33行和34行的TIMESTAMP_FILE 和VERSION_FILE是在编译的时候自动生成的第3...

2018-08-24 21:18:44 630

原创 UBOOT的学习 总结1

本文是自己在学习了UBOOT与系统移植时结合自己的体会写的一篇博客,博客会持续更新。首先感谢朱有鹏老师,我是买了他的课程学习的。这是结合自己的理解写的。FIGHTING SPARK!! 1、UBOOT和系统移植(1)UBOOT的主要作用就是用来启动内核的,嵌入式系统上电后先执行uboot(universal bootloader,通用的启动代码),然后UBOOT负责初始化DDR...

2018-08-23 22:14:42 343

原创 argv、argc和main函数传参

给main函数传参是怎样实现的:argc是int类型,表示运行程序的时候给main函数传递了几个参数;argv是一个字符串数字,这个数组用来存储多个字符串,每个字符串就是我们给main函数传的一个参数。argv[0]就是我们给main函数的第一个参数,argv[1]就是传给main的第二个参数。给main传参要注意什么(1)main函数传参都是通过字符串传进去的。(2)程序被调用时传参,各个参数之...

2018-07-11 20:33:57 1434

原创 配置索尼传感器

首先分析一下IMX222这颗图像CMOS这颗芯片可以支持单字节写,读写指令可以单字节读也可以多字节读。可以设置1080P格式注意这里涉及到了高低位变化的处理因为SPI 发送数据时,是高位在最前面,低位在最后面,所以这里需要涉及到高低位的转换。因为cmos芯片是低位在最高位。比如0x02的发送,就变成了0100 0000了u8 spi_wreg[REG_NUM][REG_BYTE]={ { 0x02, 0x00, 0x31 }, //stan...

2020-05-22 08:40:36 893 1

原创 xilinx sdk 之SPI配置

使用ZYNQ PS端的SPI接口配置imx222 cmos芯片第一步:看原理图,看看原理图的cmos芯片的接口接在PL的那个管脚上的。有几个管脚第二步:打开zynq ps,选择SD0 MIO 40- 45选择UART0 选择 MIO 46-47SPI0 选择 EMIO 因为ps接口连接到了PL侧选择GPIO中的EMIO,因为要配置摄像头的复位引脚,复位引脚连接PL侧,要使用EMIO,先选择一个就可以了。第三步:引出管脚,引出需要的管脚...

2020-05-21 20:44:20 9376 3

原创 Xilinx sdk 学习笔记 之 IIC(二)

在学习IIC之前,需要弄清楚xilinx提供的iic函数需要掌握三个函数XIicPs_LookupConfigXIicPs_Config *XIicPs_LookupConfig(u16 DeviceId);typedef struct { u16 DeviceId; /**< Unique ID of device */ u32 BaseAdd...

2020-03-09 18:19:18 3142 1

原创 Xilinx sdk 学习笔记 之 IIC(一)

学习xilinx sdk的iic操作笔记1、SDK开发最小系统搭建创建Block design添加IP点击PS_PL config 然后PL端的Enable Clock Resets取消勾选,这是用来pl端时钟复位的,我们这里没有用到。同样的GP Master AXI Interface 的 M AXI GP0 interface 也去掉...

2020-03-04 18:31:39 2939

原创 ZYNQ FPGA HLS旅程(1)

作者本人最近在研究双目测距算法,已经在ARM上面实现了双目测距,现在想在FPGA上面实现双目测距。用Verilog开发难度太大,现在只能用HLS进行综合,鉴于有部分学者对英文文档的学习比较吃力,我就直接参考官方的手册ug871-vivado-high-level-synthesis-tutorial进行和实现的。相当于把XILINX的官方文档实际操作了一遍。鉴于国内没有很多人讨论...

2019-03-21 17:13:20 1951 12

双目相机标定程序加图片

双目相机的标定程序,值得参考。里面还有标定的参考图片

2019-02-11

CodeSign4SecureBoot_SCP

这个是Samsung 4412开发板的安全启动文件,生成的uboot.bin文件需要这个才能生成可以烧录的Uboot文件。

2018-08-28

CodeSign4SecureBoot

这个是samsung的安全启动文件,支持4412开发板。有两种核心板类型,一种是POP,一种是SCP

2018-08-28

空空如也

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

TA关注的人

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