现在位置: 首页 > 技术文章 > 文章
2018年05月30日 技术文章 ⁄ 共 1101字 __attribute__ 之weak,alias属性已关闭评论
Weak Alias 是 gcc 扩展里的东西,实际上是函数的属性。这个东西在库的实现里面可能会经常用到,比如 glibc 里面就用了不少。抄录一段 gcc 手册里面的话解释下函数属性是干啥的 In GNU C, you declare certain things about functions called in your program which help the compiler optimize function calls and check your code more carefully. 先上代码,看看 weak alias 怎么写。 第一个文件 dummy.c 内容 int __foo...
阅读全文
2018年05月27日 技术文章 ⁄ 共 3323字 几种图像边缘检测算子的比较(转)已关闭评论
不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可...
阅读全文
2018年05月25日 技术文章 ⁄ 共 873字 Canny边缘检测算法详解(转)已关闭评论
1.Canny边缘检测基本原理 (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。 (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。 (3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。 2.Canny边缘检测算法: step1:用高斯滤波器平滑图象; step2:用一阶偏导的有限差分来计算梯度的幅值和方向; step3:对梯度幅值进行非极大值抑制; step4:用...
阅读全文
2018年03月08日 基础知识 ⁄ 共 3392字 IIC总线—-介绍已关闭评论
近期要使用IIC总线控制OV7670摄像头,使用FPGA做一些图像处理,所以打算自己使用VHDL写一个IIC控制器,下面先看一下详细时序介绍:   概述 I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。 I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。 SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发...
阅读全文
2018年02月02日 基础知识 ⁄ 共 3385字 Linux中list_head结构体相关已关闭评论
在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用,有点类似于C++的继承机制。 下面就是kernel中的list_head结构定义: struct list_head { struct list_head *next, *prev; }; list_head是linux kernel中非常重要的一个结构体,是双向链表...
阅读全文
2018年01月27日 基础知识 ⁄ 共 1535字 elf转化成bin后,bin文件变大的问题 <转>已关闭评论
在上一篇文章《位置无关代码(PIC)的思考》 中提到,在elf文件转化成bin文件的过程中,输出段与段之间如果有空隙的话,objcopy会用0来填充段与段之间的空隙,也可以通过objcopy 的选项--gap-fill= val来制定填充值的内容为val,这将会导致bin文件比elf文件大很多的问题,在很多嵌入式设备上将是无法接受的,因为嵌入式设备通常会将程序转化 成bin烧写到FLASH中,这样做的目的就是为了省空间,但结果确实大大的浪费了空间。 下...
阅读全文
2018年01月24日 基础知识 ⁄ 共 2308字 位置无关代码(PIC)的思考<转>已关闭评论
应用程序必须经过编译、汇编和链接后才变成可执行文件,在链接时,要对所有目标文件进行重定位(relocation),建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间,以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。在具有操作系统的系统中,重定位过程由操作系统自动完成。  在设计Bootloader程序时,必须在裸机环境中进行,这时Bootloader...
阅读全文
×