自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叶玄青的博客

一无所知

  • 博客(15)
  • 资源 (11)
  • 收藏
  • 关注

原创 Linux内核移植 part2:uboot设备树--解析过程分析

重点还是这张图,来自 http://blog.csdn.net/abcamus/article/details/53890694整体看下来解析过程的代码比较杂糅。就不按照函数执行流行来了,先对几个功能点进行说明。基本字符串操作:const char *q;while (*p == '/') p++;if (! *p) return offset;q = st

2016-12-28 15:52:18 4340

原创 Linux内核移植 part2:uboot设备树--生成过程分析

本文从设备树软件控制相关代码进行分析,进而理清设备树相关的知识。先放一个设备树在内存中的结构图:分析来源为$(tree)/lib/fdtdec_test.c一、数据结构文件头每个dtb都包含如下结构的文件头,用来表示设备树的基础信息。struct fdt_header { fdt32_t magic; /* magic word FDT_MAGIC */ fdt3

2016-12-27 16:09:23 3479

原创 Linux内核移植 part2:uboot 设备树--基本概念和源码介绍

arm uboot的设备树源文件位于arch/arm/dts/目录下,网络上有很多介绍Linux设备树概念的文章,这里以dts相关的API为切入点,如果都懂了,设备树的东西就迎刃而解了。一. dts相关源代码位于$(tree)/lib/以及$(tree)/lib/libfdt/。完成Flattened Device Tree Decode的功能。libfdt介绍: The

2016-12-26 23:35:12 4520

原创 Linux内核移植 part2:uboot load_addr 释疑

uboot bootm在寻找OS镜像的时候会根据load_addr变量去对应的ram地址中找。/* common/image.c */ulong genimg_get_kernel_addr_fit(char * const img_addr, const char **fit_uname_config, const char *

2016-12-26 12:58:58 4476

原创 宏观经济: 模型的三大参数

社会经济大致可以分为三个层次: 1. 宏观经济 2. 行业经济 3. 微观经济最近阅读《宏观经济学》,奥利维尔·布兰查德(Olivier Blanchard) 著, 楼永, 孔爱国 译。读到第二章,重点介绍了几个重要概念,清晰易懂。总产出度量: 国内生产总值(GDP)我们都知道GDP是指国内生产总值,而且每年的经济增长率也是以GDP增长率来衡量的。那么GDP究竟是怎么计算的呢

2016-12-25 22:55:32 2033

原创 python解释器实现及其嵌入式应用:认识Micro Python

micropython是Damien George发明的运行在MCU之上的python,项目主页为 https://github.com/micropython/micropythonMicro Python的软件特点:Python 3 语法 1. 完整的Python词法分析器, 解析器,编译器,虚拟机和运行时。 2. 包含命令行接口,可离线运行。 3. Python 字节码由内置虚拟机编译

2016-12-23 18:53:44 8041 1

原创 Linux内核移植 part2:uboot bootdelay参数

uboot启动时会进入倒计时,如果倒计时时间内没有受到按键信息,那么自动执行启动命令。这个等待时间(启动延迟)称作:bootdelay。以环境变量的形式存在于uboot,通过配置CONFIG_BOOTDELAY可以设置这个变量。在移植exynos4412 uboot的时候,找了好一会儿才发现这个默认配置的地方。先是直接从landrover.h往回看,没找到。grep出来后一个个看头文件,第一次尽然看

2016-12-23 17:59:46 3140

原创 Linux内核移植 part2:uboot 设备驱动模型

最近在移植uboot-2015.04的时候发现,uboot的设备驱动也带驱动模型了,第一次见到的时候还真是愣了一下,特别是调试的时候没有以前那么方便直接了。而且设备模型和设备树捆绑在一起,又得花费一番功夫来了解了。不禁深深的感慨,搞技术的真真切切就是活到老学到老,而且这种一直学习的状态其实是外界不断强加给你的,有时候真的觉得挺累。人家改改模型,你就得重新去学习适应。其实这种学习都是高投入低产出的,

2016-12-23 14:10:20 1497 1

原创 org mode文档转成markdown格式

我喜欢org mode的简洁,特别是和emacs的完美兼容,用她写文档那叫一个爽,再加上macbook下emacs操作手感极好,有点恋恋不舍。但是写博客啥的基本都是用markdown,于是就写了个python程序,用来把org mode文档转成markdown。以后就可以在本地写好org文档,要发博客的时候用程序转一下拷贝到博客编辑页面就可以了,哦yeah….程序很简单,就实现了两个功能,用来兼容c

2016-12-19 13:55:11 3614 4

原创 git: push免输用户名和密码

生成ssh key$ ssh-keygen然后把~/.ssh/is_rsa.pub的内容拷贝到github上,再在本地执行$ git remote rm origin$ git remote add origin [email protected]:username/tree.git$ git push --set-upstream origin master即可

2016-12-19 09:40:13 599

原创 嵌入式开发中的细节

这里列举一下嵌入式软件开发中容易遇到的几个简单但容易忽略的问题,一旦出现,会明显加大debug的难度。1. 字节对齐的问题在PC机上,变量地址不对齐对程序员来说不会有什么感觉,但是在嵌入式中可能就会导致程序不工作。譬如如下这段代码uint32_t base_addr = 0x4000000, value = 0x5a5a5a5a;for (i = 0; i < 1; i++) { writ

2016-12-17 20:50:12 533

原创 Linux内核移植 part2:printascii详解

uboot下的printascii函数可以用来在串口打印信息,实现代码调试。这个函数实际上就是通过配置硬件相关的参数,通过uart完成打印。代码位于arch/arm/lib/debug.S#if !defined(CONFIG_DEBUG_SEMIHOSTING)#include CONFIG_DEBUG_LL_INCLUDE //debug/8250.S#endif

2016-12-13 10:43:59 1392

原创 Linux内核移植 part1:Exynos 4412 uboot 调试

最近给Exynos 4412开发板移植了uboot,具体过程就不表了,可以参考: http://blog.csdn.net/abcamus/article/details/51326881代码都已经上传到github: https://github.com/abcamus/bootloader-for-Exynos-4412.git几个注意点:1. arch/arm/include/asm/arch

2016-12-08 21:12:11 4713

转载 链接脚本语法

连接脚本连接脚本的一个主要目的是描述输入文件中的节如何被映射到输出文件中,并控制输出文件的内存排布. 几乎所有的连接脚本只做这两件事情. 但是,在需要的时候,连接器脚本还可以指示连接器执行很多其他的操作.这通过下面描述的命令实现.连接器总是使用连接器脚本的.如果你自己不提供, 连接器会使用一个缺省的脚本,这个脚本是被编译进连接器可执行文件的. 你可以使用’–verbose’命令行选项来显示缺省的连接

2016-12-07 19:26:25 12650 3

原创 Makefile 伪目标.PHONY

在接触Makefile的时候,我们经常会看到.PHONY.PHONY标记,它就是伪目标,所谓伪目标,就是指没有真正的文件和它对应,只是一个标识而已。make程序看到.PHONY.PHONY后面的目标后就会去执行对应的命令。例如有如下代码:build: @echo "Building"all: @echo "hello"clean: @echo "clean"$ make$

2016-12-05 20:15:30 10251

FreeRTOS-v9.0.0源代码

同步官网的FreeRTOS-v9.0.0源码

2017-08-18

根文件系统

一份基于busybox制作的根文件系统

2017-05-16

C语言的文法定义

2017-05-15

C语言文法定义

2017-05-15

motion detection课件

一份不错的运动侦测的讲义

2016-10-31

Blooth Low Energy Specification

低功耗蓝牙官方规格书

2016-07-05

usb ehci 接口规范

usb2.0 的接口规范,2.0标准的usb控制器接口

2016-05-01

usb 驱动程序编写

介绍linux内核下usb驱动开发

2016-05-01

usb大全第四版

usb大全英文版第四版

2016-05-01

usb2.0协议

usb2.0 的官方文档

2016-05-01

空空如也

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

TA关注的人

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