自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Deep_l_zh的博客

敏于思而慎于言

  • 博客(140)
  • 资源 (5)
  • 收藏
  • 关注

原创 ARM AMBA AHB-LITE协议理解

1.AHB总线的特性主要包括四点:burst 传输,单时钟沿,非三态实现和支持的数据位宽为64/128一直到1024位,这里注意的是最低是64位?关于Burst传输的含义从别处看到的,如下:Burst传输实质就是只发送一次地址,某些总线发送每个数据都要对应发送其地址。但是Burst传输就是提高了传输效率,在一次传输过程中,只发送一次地址。但burst传输有应用限制,不是所有传输类型都适合burst传输,一般busrt传输应用在下面三种场景:Flash应用类型 只发送一次地址,之...

2022-05-05 13:57:32 1432

转载 linux原始套接字

通常情况下程序员接所接触到的套接字(Socket)为两类:(1)流式套接字(SOCK_STREAM):一种面向连接的 Socket,针对于面向连接的TCP 服务应用;(2)数据报式套接字(SOCK_DGRAM):一种无连接的 Socket,对应于无连接的 UDP 服务应用。从用户的角度来看,SOCK_STREAM、SOCK_DGRAM 这两类套接字似乎的确涵盖了 TCP/IP 应用的全部,...

2019-03-28 14:33:06 365

转载 ARM独占访问指令ldrex、strex

为了实现线程间同步,一般都要在执行关键代码段之前加互斥(Mutex)锁,且在执行完关键代码段之后解锁。为了实现所谓的互斥锁的概念,一般都需要所在平台提供支持。本文主要用来说明ARM平台上特有的独占访问指令LDREX和STREX的工作原理,以及如何使用。而它们也是ARM平台上,实现互斥锁等线程同步工具的基础。我们先来看看LDREX和STREX两条指令的语义。其实LDREX和STREX指令,是...

2019-03-24 11:44:35 1095

原创 将一个输入字符串按照字符从小到大的顺序输出,并且剔除相同的字符串

#include <stdio.h>#include <string.h>#include <memory.h>/** @brief str_process 将输入的字符串中重复的部分剔除,并且排序输出* @param src_str 输入的源字符串* @param dest_str 处理后输出字符串* @return 成功:0;失败...

2019-03-24 11:37:14 4518 2

原创 leetcode[21]:合并两个有序链表 C语言解法

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) { ...

2019-03-24 11:37:09 340

原创 leetcode[1]:两数之和 C语言解法

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]/**...

2019-03-24 11:37:04 591

原创 leetcode[2]:两数相加 C语言解法

给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2019-03-24 11:36:58 864

原创 leetcode[3]:无重复字符的最长子串 C语言解法

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最...

2019-03-24 11:36:52 1491 1

原创 leetcode[7]:整数反转 C语言解法

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...

2019-03-24 11:36:46 827

原创 leetcode[169]:求众数 C语言解法

给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2int majorityElement(int* nums, int numsSize) { int nu...

2019-03-24 11:36:40 1414

原创 leetcode[172]:阶乘后的0 C语言解法

给定一个整数n,返回n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释:3! = 6, 尾数中没有零。示例2:输入: 5输出: 1解释:5! = 120, 尾数中有 1 个零.int trailingZeroes(int n) { int num = 0; if(n < 5) { re...

2019-03-24 11:36:35 197

原创 leetcode[392]:判断子序列 C语言解法

给定字符串s和t,判断s是否为t的子序列。你可以认为s和t中仅包含英文小写字母。字符串t可能会很长(长度 ~= 500,000),而s是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s=...

2019-03-24 11:36:23 824

原创 leetcode[442]:数组中重复的数据 C语言解法

给定一个整数数组 a,其中1 ≤ a[i] ≤n(n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]/** * Return an array of size *returnSize. * Note: ...

2019-03-24 11:36:16 640

原创 leetcode[617]:合并二叉树 C语言解法

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例1:输入: Tree 1 Tree 2 ...

2019-03-24 11:36:10 715

原创 leetcode[83]:删除排序链表中的重复元素 C语言解法

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * struct ListNode { * ...

2019-03-24 11:36:04 650

原创 leetcode[206]:反转链表 C语言解法

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题/** * Definition for singly-linked list. * struct ListNode { * ...

2019-03-24 11:35:58 460

原创 leetcode[141]:环形链表 C语言解法

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos =...

2019-03-24 11:35:51 805

原创 leetcode[9]:回文数 C语言解法

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...

2019-03-24 11:35:46 304

原创 leetcode[70]:爬楼梯 C语言解法

假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...

2019-03-24 11:35:38 752

原创 一步步学习zynq软硬件协同开发(AX7021)【AXI-DMA】:AXI-DMA Scatter/Gather Mode(SG模式)

AXI-DMA有几种模式,其中最难使用的莫过于Scatter/Gather模式,以下简称sg模式,axi_dma的框架如下:在AX7021上,有4路PL端的网口,该网口的驱动和PS端的驱动有所差别,移植到我们自己的RTOS下,需要重新做驱动,除了phy的配置,mac的配置,最关键的部分在于网络协议栈的描述符的处理,这里也就要涉及到sg模式的使用,要对网络协议栈也有比较强的理解。该部分的...

2018-12-28 23:26:36 7452 1

原创 一步步学习zynq软硬件协同开发(AX7010/20)【FPGA+ReWorks】:创建自定义IP实现rtc读写

一、实验环境及目的板卡:AX7010Vivado版本:2017.4开发机:I5  2.2GHZ  8GB  WIN7_X64参考文档:《ALINX黑金ZYNQ7000开发平台配套教程》实验目的:掌握ZYNQ PL端的开发流程,创建自定义IP的方法,在ReWorks下利用该IP对RTC进行访问。黑金给出的实验是如何创建自定义IP,但是并没有对代码进行解读,可能对于FPGA会的...

2018-12-26 22:11:22 4228 2

转载 ZYNQ AXIDMA详解

转载出处:https://www.cnblogs.com/batianhu/p/zynq_axidma_xiangjie1.html一、基本概念AXIDMA: 官方解释是为内存与AXI4-Stream外设之间提供高带宽的直接存储访问,其可选的scatter/gather功能可将CPU从数据搬移任务中解放出来。在ZYNQ中,AXIDMA就是FPGA访问DDR3的桥梁,不过该过程受ARM的...

2018-12-26 18:27:12 3247

原创 ARMv7 CP15协处理器详解

1协处理器指令MCR和MRC 1.1MCR指令 1.2MRC指令   2CP15的主要功能 3 CP15寄存器功能介绍如下所示: 3.1寄存器c0 3.2寄存器c1 3.3寄存器c2 3.4寄存器C3  3.5 寄存器C5    3.6寄存器C6  3.7寄存器C7  3.8寄存器C8  3.9寄存器C9  3.10 寄存器C10  3.11...

2018-12-06 13:46:20 5015 1

原创 一步步学习zynq软硬件协同开发(AX7010/20)【FPGA篇】:FPGA控制流水灯及verilog基本语法学习

一、实验环境及目的板卡:AX7010Vivado版本:2017.1开发机:I7  4.2GHZ  8GB  WIN10_X64参考文档:《ALINX黑金ZYNQ7000开发平台配套教程》实验目的:掌握ZYNQ PL端的开发流程,熟悉verilog的基本语法。其实黑金给出了一个例子就是1S翻转一次四个LED等,这里我想通过控制一组LED灯的不同输出效果来学习verilog及f...

2018-12-01 15:17:38 2671

原创 imx6q flexcan初始化流程

imx6 flexcan的初始化流程复位flexcan有两种复位模式:1.包括芯片在内的硬复位,这时候会异步的清空所有映射的寄存器2.MCR寄存器中的soft_rst位,该寄存器会同步的重置一部分映射的寄存器软复位是需要时间的,在软复位期间,SOFT_RST该位会挂起,所以可以通过poll该位来判断软复位是否结束,注意的是在时钟模块没有开启的时候,不能进行软复位,在低功耗模式下...

2018-11-09 14:44:44 1958

转载 Linux内核Socket CAN中文文档

转载地址:https://blog.csdn.net/zhangxiaopeng0829/article/details/7646639自己在年假中空闲之余翻译的内核中Socket CAN的文档,原文地址在:http://lxr.linux.no/linux+v2.6.34/Documentation/networking/can.txt但是这篇文档没有涉及广播管理协议套接字 (SOC...

2018-11-09 09:39:34 586

转载 CAN总线报文解析

    转载:https://blog.csdn.net/liuligui5200/article/details/79030676 CAN的报文格式 在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。 在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR...

2018-11-07 10:23:14 15131 1

原创 imx6ul:uboot-2013.10启动过程解析

1.源码结构分析     首先一个问题,老版本的u-boot是没有SPL这个文件的,新版u-boot开始包含SPL文件,原来u-boot启动比如放到nand中,在cpu内部有一个stepping stone,可以拷贝nand中的u-boot到ram中运行,然后u-boot自己再启动第二阶段在对应内存中好到系统的image启动。现在加了这个SPL之后,我的理解这是一个u-boot的loader。...

2018-11-03 13:46:27 2604

转载 malloc、memalign和valloc

转载:https://blog.csdn.net/lvwx369/article/details/41726415在GNU系统中,malloc或realloc返回的内存块地址都是8的倍数(如果是64位系统,则为16的倍数)。如果你需要更大的粒度,请使用memalign或valloc。这些函数在头文件“stdlib.h”中声明。在GNU库中,可以使用函数free释放memalign和vallo...

2018-11-01 14:12:22 2714

原创 uboot中打开debug调试信息的方法

很简单,找到uboot的根目录/include/common.h中在这个位置定义一个DEBUG然后重新编译即可。#define DEBUG

2018-10-30 14:40:06 8880

原创 linux中__weak关键字的作用

在linux的驱动代码中经常可以看到__weak去修饰一个函数或者变量,大多是用来修饰函数。它的作用有两个:1.weak 顾名思义是“弱”的意思,所以如果函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”。加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执...

2018-10-30 09:15:57 2612

转载 S3C2440 linux LCD驱动分析

环境: 硬件平台 TQ2440            东华3.5 inch  TFT LCD             linux-2.6.30.4           1. LCD工作的硬件需求:     要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而...

2018-10-23 11:19:48 297 1

转载 CAN总线介绍及要点说明

转载出处:https://www.cnblogs.com/spoorer/p/6649303.html 前言 CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台、期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品的开发,CAN总线的稳定性是毋庸置疑的。 CAN总线物理结构与特性 C...

2018-10-19 14:33:35 2601

原创 ZYNQ Uboot下修改保存环境变量地址的方法

uboot版本:2017.4板卡:自制zc706板卡修改文件路径:/include/configs/zynq-common.h修改内容为:CONFIG_ENV_OFFSET把这里的CONFIG_ENV_OFFSET修改为在QSPI的偏移地址即可,我这里是QSPI FLASH,因为默认是0xe000,在0地址开始的地方保存了boot.bin,每次保存环境变量,会破坏boot,...

2018-09-12 18:21:43 2706

原创 EMMC驱动中常用命令说明及初始化顺序

一、命令说明 mmc_go_idle  发送CMD0指令,GO_IDLE_STATE  使mmc card进入idle state。  虽然进入到了Idle State,但是上电复位过程并不一定完成了,这主要靠读取OCR的busy位来判断,而流程归结为下一步。 mmc_send_op_cond  发送CMD1指令,SEND_OP_COND  这里会设置card的工作电压寄...

2018-09-12 18:16:28 13205 7

原创 Linux下常用压缩解压命令

tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!).gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar z...

2018-09-05 09:23:20 235

原创 运行learning.py出现unicodedecodeerror...'utf-8'错误无法解决的问题

网上有很多修改代码的教程,如果还是解决不了,注意最基本的一点:将自己的计算机名和计算机全名全部修改为英文

2018-08-27 18:00:33 811

原创 记一次ZYNQ板卡无法启动问题的调试过程

1.现象板卡上电无法从QSPI启动,板卡为调试板卡,没有复位系统,QSPI FLASH中已经烧写boot.bin,要成功启动,分为下面四个阶段,首先bootrom上电后会根据boot mode(由配置MIO的管脚电平组合决定,即跳线帽),从对应的启动介质中读取镜像,读取开始的时候会先读取头部信息,如果成功则才会load启动代码,将fsbl读到ocm运行,然后由fsbl去启动uboot。...

2018-08-17 09:43:41 17051 9

转载 ZYNQ启动过程(转载)

转载自:http://design.eccn.com/design_2016120213185392.htm本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。硬件启动过程1、重新上电或POR复位后进行硬件启动过程2、扫描“启动引脚”设置,并存入只读寄存器slcr.BOOT_MODE中3、若使能pll,则等到pll输出时钟;若旁路pll,则直接使用ps_clk...

2018-08-09 14:01:55 2260

原创 XILINX SDK XSCT/XMD 命令大全以及使用说明

XILINX MICROPROCESSOR DEBUGER (XMD) REFERENCE GUIDEThis guide was designed to be used with ISE and EDK 9.1. The debugger provided by XILINX (XMD) is a tool that interacts with PowerPC and MicroBlaze...

2018-08-07 16:37:54 11265

speex win(vs2013)工程C源码

工程包含aec,denoise和resample c源码和输入测试文件

2022-10-31

cortexa7+armv7a+gic400中断手册

cortexa7+armv7a+gic400+imx6ul官方数据手册,做chip bring up的时候用到

2018-12-19

xilinx zynq axi总线资料

xilinx zynq axi总线资料,包括axi总线的官方手册,axi总线的使用说明

2018-11-26

Xilinx_SDK_2017.4_LINUX(64位)

xilinx sdk 2017.4 在ubuntu14.04下安装成功,可以编译xilinx下zynq开发板的linux和uboot

2018-02-09

Nano_Pi M3编程开发教程

Nano_Pi M3编程开发教程,适合入门

2016-10-14

zynq/zedboard/xlinx 学习例程及笔记

该资源包含了使用ZYNQ7000进行开发的搜集的简单易学,适合新手的例程和资料。

2016-10-12

空空如也

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

TA关注的人

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