自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

转载 MTD应用学习:mtd和mtdblock的区别

http://my.oschina.net/shelllife/blog/123482http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076075.html今天做升级方案用到了mtd-utils中的flash_eraseall和flash_cp两个工具,在进行方案验证的时候,遭遇到各种不解和疑惑,因对MTD的原理不熟悉,所以只能多次尝...

2019-11-12 14:55:46 216 1

原创 glibc-linux C 标准库函数源码ftp

连接ftp://ftp.gnu.org/gnu/glibc

2019-11-05 16:21:25 243

转载 文件映射IO(mmap-mprotect-msync-munmap)函数

本文介绍在POSIX环境使用文件映射IO操作的方法,文件映射IO又被称为存储映射IO,对于普通文件而言,很多时候它是高效的,它实际减少了数据的复制;同时它也可以用于特殊的地方,用于进程之间的通信,共享内存的一种方式。我们能够把一个文件想象成一块连续的数据,从纯粹的数据角度来看,任何普通文件都可以这么理解。文件映射实际上是把文件的这块数据与我们程序里的一块内存对应上了,使用我们操作这块内存的时候...

2019-11-05 14:55:54 218

转载 linux 同步IO: sync msync、fsync、fdatasync与 fflush

最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略。为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里做一个罗列和对比。大部分为copy,仅为记录,请各位看官勿喷。传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通...

2019-11-05 14:45:28 227

转载 深度分析mmap:是什么 为什么 怎么用 性能总结

目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节性能总结mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回...

2019-11-05 14:38:41 156

转载 以太网自动协商原理

自协商基本原理自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。  自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接受对方可能传递过来的相应信息,从而解决双工和10M/100M速率自协商问题。自协商功能完全由物理层芯片设计实现,因此并不使用专用数据包或带来任何高层协议开销。...

2019-11-04 16:22:04 328

转载 Linux 获取设备树源文件(DTS)里描述的资源

Linux 获取设备树源文件(DTS)里的资源韩大卫@吉林师范大学在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一个树形树形数据结构中, 通过...

2019-11-01 14:32:57 110

转载 kernel如何保证cache数据一致性

本文链接:https://blog.csdn.net/skyflying2012/article/details/48023447 在嵌入式系统中,cache位于CPU与DDR之间,是一段SRAM,读写性能远高于DDR,利用cache line提供了预取功能,平衡CPU与DDR之间的性能差异,提高系统的性能。 据我了解,ARM/PPC/MIPS三款主流嵌入式处理器都...

2019-11-01 12:48:36 325

转载 IO端口和IO内存的区别 转

目录(?)[-] Linux系统对IO端口和IO内存的管理 一、I/O端口 二、IO内存 三、IO端口和IO内存的区分及联系 四、外设IO端口物理地址的编址方式 统一编址 独立编址 优缺点 五、Linux下访问IO端口 I/O映射方式 内存映射方式 ...

2019-11-01 10:53:42 299

原创 板卡启动方式Nand QSPI SD卡

setenv serverip 192.168.1.26;setenv ipaddr 192.168.1.28;saveenv设置板卡从NandFlash 启动1.1 烧写内核到NandFlashzynq-uboot> tftpboot 0x2080000 uImage;nand erase 0x600000 0x500000;nand write.e 0x2080000 0x6...

2019-10-31 20:36:22 389

转载 Zynq ZC702平台 Linux + Baremetal AMP实现(一)【快速启动CPU1】

Xilinx官方的Zynq AMP configure XAPP1078实现Linux+Baremetal方法有些麻烦,介绍一种可以通过在常规FSBL下来实现CPU0启动CPU1的方法。预备知识:UG585, section 6.1.10 Starting Code on CPU 1The steps for CPU 0 to start an application on CPU 1 ...

2019-10-31 17:07:57 1075

转载 S03_CH13_ZYNQ A9 TCP UART双核AMP例程

13.1概述ZYNQ中存在两个独立的ARM核,在很多应用场景中往往只需使用其中的1个核心即可。然而,对于复杂的设计,例如多任务,并行控制、处理等,单个核心将难以胜任。因此,为了尽可能发挥ZYNQ中双ARM核的优势和性能,进行双核应用的开发显得尤为重要。同时,也进一步为Xilinx下一代MPSOC多核异构处理器的使用打下基础。在ZYNQ中实现双ARM核AMP应用可以参考Xilinx官方的XA...

2019-10-31 13:59:09 379

转载 Zynq Cache问题的解决方法

原文转自:http://www.openhw.org/module/forum/thread-546879-1-1.html在进行PS-PL之间的DMA传输时,不可避免会遇到Cache问题。今天在这里讲一下Cache的解决方法。其中参考了forums.xilinx.com的处理方法。首先解释为什么DMA会引入Cache问题(专业名称为Cache一致性问题)。PS和PL都在独立运行,PS通过...

2019-10-31 11:43:19 1043 1

转载 ZYNQ平台软硬件协同设计总结

我们的参赛作品是基于ZYNQ的视频总结与检索系统,由于视频摘要与视频总结中运用了大量的图像处理算法,而大部分图像处理算法需要处理二维数据,对于实时性要求高的系统,顺序运行的CPU难以胜任,这时有两种选择,一种是专用的DSP系统,虽然这种系统实时性比较好,但是成本非常高,而对于FPGA来说,由于其本身的特性决定了它非常适合于高速并行处理,为我们使用FPGA硬件加速提供了可能。由于ZYNQ将CPU与F...

2019-10-31 11:42:08 1417

原创 omap138平台上uboot打印串口由UART2改为UART0

经过修改,可以在omapl138平台上达到想要的目的(把打印串口由uart2改为uart0)一、在da850sdi.h里面1.#define CONFIG_SYS_NS16550_COM1 DAVINCI_UART2_BASE /* Base address of UART2 */改为:#define CONFIG_SYS_NS16550_COM1 DAVINCI_...

2019-08-08 15:23:51 362

原创 进入Uboot配置模式

第一步:设置IPsetenv serverip 192.168.1.26;setenv ipaddr 192.168.1.28;saveenv第二步:设置启动方式和启动命令及参数设置板卡从NandFlash 启动1.1 烧写内核到NandFlashzynq-uboot> tftpboot 0x2080000 uImage;nand erase 0x600000 0x500...

2019-07-23 22:21:03 2747

原创 使用xilinx SDK创建ucosii工程

基于ZynqDesign.sdk建立ucosii工程和fsbl工程,并融合生成BOOT.bin文件一、建立ucosii_test工程1、打开xillinx SDK软件,File/Switch Workspace打开对应的ZynqDesign.sdk;2、打开Xilix Tools/Respositories,添加ucosii内核;3、新建工程 工程名为ucosii_te...

2019-07-04 15:29:44 1809 1

原创 Ubutu16.04下更新sources.list列表失败

debian与Ubuntu包管理工具就是都是apt,先看Ubuntu的软件源的格式(以清华软件源为例):deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricteddeb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main universe ...

2019-06-25 10:51:35 1338

原创 keil环境下stm32下载和擦除程序对Flash的影响

一、烧录两个程序,读取FLASH(实测结果:两个区域都有程序,跟烧录的顺序没有关系)1、首先 烧录0x08004000开始的程序读取FLASH:只有0x08004000处有数据2、烧写0x08000 0000程序读取FLASH:0x08000000和 0x08004000处都有数据二、擦除Flash(实测结论:擦除一个,即擦除所有的芯片,跟顺序无关。不更

2017-05-19 15:59:28 10123

原创 keil环境下IAP使用中 stm32中M0 M3中断偏移对比

M3中断偏移:当加入IAP 程序之后,程序运行流程如图所示:默认情况下,main flash memory(0x0800 0000) is selected boot space,即映射为 0x0000 0000。相当于从物理地址0x0800 0000启动程序。00在main函数的执行过程中如果出现中断请求,PC指针扔强制跳转到地址0x0800 0004的中断向量表

2017-05-19 11:54:33 2564

原创 keil环境下stm32f030程序运行的说明

我们先来看看STM32 正常的程序运行流程:STM32 的内部闪存(FLASH)地址起始于0x08000000,一般情况下,程序文件就从此地址开始写入。此外STM32 是基于Cortex-M3 内核的微控制器,其内部通过一张“中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动,而这张“中断向量表”的起始地址是0x08000004,当中断来

2017-05-19 11:16:59 2234

空空如也

空空如也

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

TA关注的人

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