- 博客(26)
- 资源 (19)
- 收藏
- 关注
原创 Write-back,Write-through及write allocate
此文为转载 ,如需原始作者要求删除请私信我计算机的存储系统采用Register,Cache,Memory和I/O的方式来构成存储系统,无疑是一个性能和经济性的妥协的产物。Cache和Memory机制是计算机硬件的基础内容,这里就不再啰嗦。下面重点说明Write-back,Write-through及write allocate这三种操作的区别。一、CPU读Cache 1. Read through,即直接从内存中读取数据; 2. Read...
2020-11-24 12:41:23
6610
原创 EMMC 分区
使用的是emmc作为存储介质,需要先大概了解emmc的物理分区 分为四个区:Boot Area Partitions、RPMB Partition、General Purpose Partitions和User Data Area。 Boot Area Partitions:主要用来存放bootloader(分区1和分区2可以看成两个完全一致的分区)。 RPMB Partition:未使用。 General Purpose Partitions:未使用。 User Data
2020-08-19 14:39:31
2975
转载 eMMC 原理 1 :Flash Memory 简介
eMMC 是 Flash Memory 的一类,在详细介绍 eMMC 之前,先简单介绍一下 Flash Memory。Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。+1. Flash Memory 的...
2020-08-19 14:16:27
3200
转载 eMMC 原理 2 :eMMC 简介
eMMC 是 embedded MultiMediaCard 的简称。MultiMediaCard,即 MMC, 是一种闪存卡(Flash Memory Card)标准,它定义了 MMC 的架构以及访问 Flash Memory 的接口和协议。而 eMMC 则是对 MMC 的一个拓展,以满足更高标准的性能、成本、体积、稳定、易用等的需求。eMMC 的整体架构如下图片所示:图片: eMMC 整体架构eMMC...
2020-08-19 14:14:40
1541
转载 eMMC 原理 3 :分区管理
1. Partitions OvervieweMMC 标准中,将内部的 Flash Memory 划分为 4 类区域,最多可以支持 8 个硬件分区,如下图所示:1.1 概述一般情况下,Boot Area Partitions 和 RPMB Partition 的容量大小通常都为 4MB,部分芯片厂家也会提供配置的机会。General Purpose Partitions (GPP) 则在出厂时默认不被支持,即不存在...
2020-08-19 14:11:56
1335
原创 编译链接lds:NOLOAD 含义
下面看一个标准的lds 段的格式:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill...}NOLOAD 含义编译成image的时候就不需要占空间了。NOLOAD就起到这个作用。但是空间的地址都是保留了的。代码boot之后,应该有相应的内存拷贝函数,完成一些数据的初始化。参考链接:https://zhuanlan.zhihu...
2020-07-31 11:12:33
5097
原创 u-boot编译构成之 MLO(2)
MLO 源码分析_start———–>reset————–>关闭中断(arch\arm\cpu\armv7\start.S, arch/arm/lib/vector.S) |———->cpu_init_crit————->lowlevel_init————->关键寄存器的配置和初始化 |———->cpu_init_cp15———–>关闭MMU,TLB ...
2020-07-13 15:44:58
610
原创 u-boot编译构成之 MLO(1)
UBOOT启动过程SOC内部ROM,依据外部硬件设置的启动跳线,从相应的介质启动系统。启动跳线设置请看芯片手册。 1.系统上电; 2.SOC 内部ROM启动; 3.依据硬件设置的启动方式,从相应的介质下载MLO到soc内部的ram中运行; 4. MLO运行以后再去加载u-boot.img 到RAM中以后; 5.此时MLO退出,U-Boot.img运行;本文档硬件:Ti J6entry (Dra71x )Uboot 源码:Ti 官网下载制作MLO,...
2020-07-13 13:35:19
1739
原创 andriod make sdk failed 解决
1,development/build/sdk-linux-x86.atree:36: couldn't locate source file: lib64/libaapt2_jni.so解决:在sdk-linux-x86.atree 注释掉development/build/sdk.atree:50: couldn't locate source file: bin/dmtracedump...
2019-09-05 11:26:51
1295
原创 property_get / property_set 使用注意
1) 当使用 property_set ,设置键值, 2) 然后使用property_get ,得到键值 可能为空,出现上述问题的解决办法是: 在调用 property_set property_get 之前, 必须调用函数 __system_properties_init();
2015-07-23 18:43:35
4512
转载 avahi - Avahi(Avahi和Bonjour相互兼容)
avahi - AvahiAvahi 是Zeroconf规范的开源实现,常见使用在Linux上。它可以在没有 DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务。它跟 mDNS 一样。包含了一整套多播DNS(multicastDNS)/DNS-SD网络服务的实现。它使用的发布授权是LGPL。Zeroconf规范的另一个实现是Apple公司的Bonjour
2015-07-10 12:12:33
2341
转载 armel和armhf区别选择
armel和armhf区别选择 出于低功耗、封装限制等种种原因,之前的一些ARM架构处理器因为内部资源宝贵,加入浮点运算单元是十分奢侈的,因为需要额外的软件实现。随着技术发展,目前高端的ARM处理器已经具备了硬件执行浮点操作的能力。这样新旧两种架构之间的差异,就产生了两个不同的嵌入式应用程序二进制接口(EABI)——软浮点与矢量浮点(VFP)。但是软浮点(soft f
2015-05-17 13:32:05
2684
原创 gstreamer 播放ts流
gst-launch-0.10 filesrc location=wenxiaohua.ts ! decodebin2 ! ffmpegcolorspace ! videoscale ! ximagesink //ok
2015-01-07 18:24:40
3200
原创 wpa_supplicant配置文件中的 ctrl_interface的理解
1)下面我们看wpa_supplicant的启动:wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.confwpa_supplicant.conf配置文件中:ctrl_interface =/data/system/wpa_supplicant2)在最终处理配置文件的函数是:int wpa_suppli
2014-12-25 15:47:44
9386
转载 Linux下autoconf和automake使用
Linux下autoconf和automake使用 作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件
2014-08-23 22:44:35
727
转载 Linux内核调试方法的总结
Linux内核调试方法的总结内核开发比用户空间开发更难的一个因素就是内核调试艰难。内核错误往往会导致系统宕机,很难保留出错时的现场。调试内核的关键在于你的对内核的深刻理解。一 调试前的准备在调试一个bug之前,我们所要做的准备工作有: 有一个被确认的bug。包含这个bug的内核版本号,需要分析出这个bug在哪一个版本被引入,这个对于解决问
2014-06-07 22:25:03
1149
原创 一道C语言面试题
请问下面程序会出现什么情况?. #define Max_CB 500void LmiQueryCSmd(Struct MSgCB * pmsg){unsigned char ucCmdNum;......for(ucCmdNum=0;ucCmdNum{......;}
2014-05-20 20:24:39
1075
1
转载 Raw Socket(原始套接字)
Raw Socket(原始套接字)实现Sniffer(嗅探)一. 摘要 Raw Socket: 原始套接字 可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP...int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);这样我们就创建了一个 Raw So
2014-01-24 22:58:31
6861
1
原创 开源polarssl加密库使用详解之三:哈希函数
散列算法(即哈希算法) 散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为“雪崩效应”。散列还应该是防冲突的,即找不出具有相同散列结果的两条不同信息。具有这些特性的散列结果就可以用于验证信息是否被修改。单向散列函数一般用于
2014-01-13 23:18:00
3448
原创 开源polarssl加密库使用详解之二:伪随机数发生器(DRBG)
随机数在密码学中的具有十分重要的地位,被广泛用于密钥产生、初始化向量、时间戳、认证挑战码、密钥协商、大素数产生等等方面。随机数产生器就是用于产生随机数的算法、函数以及设备。因此它的安全性也就对密码系统的安全性带来重要影响
2014-01-11 20:40:03
24572
原创 开源polarssl加密库使用详解之一:十六进制字符串转化为十六进制数字
第一个函数:int unhexify(unsigned char *obuf, const char *ibuf)在很多时候,我们要从文本中读取十六进制的密钥,或者其它信息。但是文本中是十六进制的字符,需要转换为十六进制的数字。此函就完成这样的功能。实现代码如下:int unhexify(unsigned char *obuf, const char *ibuf)i
2014-01-11 16:02:32
2321
原创 线程调度
线程调度 POSIX 标准指定了三种调度策略:先入先出策略(SCHED_FIFO)、循环策略(SCHED_RR) 和自定义策略(SCHED_OTHER)。SCHED_FIFO 是基于队列的调度程序,对于每个优先级都会使用不同的队列。SCHED_RR 与FIFO 相似,不同的是前者的每个线程都有一个执行时间配额。提供了两个调度范围:进程范围(PTHREAD_SCOPE_PROCES
2013-10-26 00:42:04
697
翻译 多线程基础
多线程一词可以解释为多个控制线程或多个控制流。虽然传统的UNIX 进程包含单个控制线程,但多线程(multithreading, MT) 会将一个进程分成许多执行线程,其中每个线程都可独立运行。 多线程技术的好处: 1.提高应用程序的响应可以对任何一个包含许多相互独立的活动的程序进行重新设计,以便将每个活动定义为一个线程。例如,多线程GUI 的用户不必等待一个活动完成即可启动另
2013-10-26 00:10:21
690
嵌入式HMI界面自动测试工具
2018-10-09
彻底解决usb错误usb 1-1: device descriptor read/64, error -62
2012-05-19
彻底解决usb错误-device descriptor read/64, error -62
2012-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人