自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 Subdirectory 【Introduction to Linux supplements】

【Linux番外篇】 补充知识【补充】烧写flash问题【补充】简单谈谈Makefile和交叉编译工具链【补充】 嵌入式中的 (volatile unsigned int )理解【补充】s3c2440启动过程详细分析【补充】adr和ldr的区别【补充】位置无关码和位置有关码【补充】为什么初始化SDRAM中 adrl r2, mem_cfg_val而不是 ldr r2,=mem_cfg

2017-07-30 16:56:35 652

原创 (六) u-boot 启动内核解析

一、我们从上一节命令解析可以知道,u-boot启动启动Linux内核有两种方法:第一种u-boot等待无空格按下自启内核: s = getenv ("bootcmd"); if (bootdelay >= 0 && s && !abortboot (bootdelay)) { ...... run_command (s, 0); ......

2017-07-30 15:58:00 3792

原创 (五) u-boot 命令执行过程解析与添加自定义命令

当我们在控制台的时候,输入boot可以启动Linux内核,那么我们以boot为例子来解析一下uboot命令的执行过程,为下一步分析uboot怎样启动Linux来做准备。一、我们搜索boot命令grep -wnR "boot" common 得到:common/cmd_bootm.c:1162: boot, 1, 1, do_bootd, 打开common/

2017-07-29 21:33:04 4164

原创 (四) u-boot 启动分析_第二阶段

在第一阶段,清 BSS 段之后,CPU 跳转到 sdram 里的 start_armboot() 函数,本文,分析 uboot 启动流程的第二阶段。 start_armboot函数在lib_arm/board.c中定义,是U-Boot第二阶段代码的入口。第二阶段的主要工作是进行单板级别的初始化,初始化 nandflash 、norflash 、初始化串口、设置环境变量、最终跳转到 main_loop 里,接收串口传递进来的各种命令。

2017-07-29 17:40:24 2112

原创 (三) u-boot 启动分析_第一阶段

本文重点在于分析 uboot 启动流程以及 uboot 自身的细节,比如栈空间的划分、如何设置 tag 、如何添加一个自定义命令等。但是不涉及基本的硬件驱动的分析,比如内存初始化、时钟初始化、mmu 、nandflash 等等这些详细细节不是我们的重点。u-boot 版本: uboot 1.1.6使用的开发板: JZ2440V3

2017-07-29 14:08:04 1752 1

原创 【补充】U-boot启动代码指令级分析与启动图解

[start.S代码指令集详细分析点我]Stage1:建立堆栈对应内存布局:上图中U-Boot是Nor Flash。第一阶段没有初始化初始化NandFlash,所以默认 uboot是从norflash启动,不支持 Nandflash 启动。如果修改代码支持Nand Flash启动,那么启动时Nand Flash控制器前4KB的代码复制到SRAM中,这4KB的代码再将整个U-Boot复制到SDRAM中

2017-07-29 10:08:23 6445

原创 【补充】uboot makefile 中的unconfig

以JZ2440为例:在uboot编译中,要先输入单板配置命令:100ask24x0_config_config进入makefile中,看到100ask24x0_config_config的配置规则如下:100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0

2017-07-28 21:59:54 7000

原创 (二) u-boot 配置、编译过程分析

由于u-boot比较庞大,所以我们分开来分析,对于一个大型的项目我们想快速的了解其代码架构和内容,最方便的方法就是分析Makefile,所以我用uboot-1.1.6来分析Makefile。通过对u-boot的分析想要得到以下内容: 1. U-boot的入口 2. 链接地址  由顶层Readme文件说明,可以知道如果要使用开发板board/,就先执行make <boa

2017-07-28 18:50:55 7752

原创 (一) u-boot 基本介绍

U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。一、u

2017-07-28 12:51:27 25598 4

原创 (六) 自己写简单的u-boot

前言:想想 uboot 的代码量,我们说自己写一个 bootloader 是不是口出狂言了?然而并没有,bootloader 的唯一目的只有一个,那便是启动内核。内核就是一大段可执行程序,我们只要跳转到它的入口地址去执行不就OK? 所以,写一个简单的 bootloader 并不困难。    现在来思考一下,目的是启动内核,那么内核在哪里?刚上电的时候,内核肯定是位于 nandflash 里的,我们得

2017-07-27 16:03:39 3297 2

原创 LCD控制器

[点此回顾上课学习内容](http://blog.csdn.net/pz0605/article/details/53246715) 2440的lcd控制器可以驱动 STN LCD 和 TFT LCD 本文以较为常见的 TFT LCD 来讲解使用方法:基础知识:首先, 我们来看下2440的 lcd controller 组成框图: REGBANK: LCD控制器的寄存器组, 含有17个寄存器及

2017-07-26 19:32:18 7594

原创 uart_stdio实验

目的:在串口0上实现printf、scanf等函数,它使用scanf、sscanf、printf等函数从串口接收一个十进制数字序列,然后将它转化为十六进制输出。大致内容和uart实验类似,这里只分析两个文件。 stdio.ldsSECTIONS { . = 0x00000000; .init : AT(0){ head.o init.o nand.o}/*将上面文件对应的运

2017-07-25 20:46:19 598

原创 【补充】常用Makefile格式分析

Makefile格式分析如下: Makefile三大组成:目标、依赖、命令 一、led.bin: led.o #(目标文件的生成依赖于命令行对依赖文件的处理。要将所有能生成的.o文件都写到依赖里面。)#.bin为目标文件(启动文件),可直接烧录到芯片中运行#.o为依赖文件,其生成源于.s(汇编文件)或.c(C文件),%表示名字,编译时名字要一致。 arm-linux-ld -Tt

2017-07-25 20:10:46 992

原创 Uart串口实验

[点此回顾上课学习内容] 目的:在串口上输入一个字符,单板结合接收到后将它的ASCII值+1后,从串口输出。首先设置MPLL,提高系统时钟,令PCLK=50MHz,Uart选择PCLK为时钟源。然后代码复制到SDRAM中之后,调用main函数。 uart.ldsSECTIONS { . = 0x30000000;/*设置当前运行地址为0x30000000*/ .text

2017-07-25 19:28:13 8613 2

原创 C++函数编译原理和成员函数的实现

【学习于C语言中文网,请勿转载】对象的内存中只保留了成员变量,除此之外没有任何其他信息,程序运行时不知道 stu 的类型为 Student,也不知道它还有四个成员函数 setname()、setage()、setscore()、show(),C++ 究竟是如何通过对象调用成员函数的呢?C++函数的编译C++和C语言的编译方式不同。C语言中的函数在编译时名字不变,或者只是简单的加

2017-07-25 15:34:54 7479 2

原创 《爱迪生传》

【 创新不是凭空想象,而要基于一套系统的方法。】          创新发明是一件既烧钱又烧脑的工作。在爱迪生那个年代,没有互联网也没有风险投资,所以搞发明通常是上层社会有钱的知识分子干的事。爱迪生在 1847 年出生在美国俄亥俄州的米兰镇,家里的生活条件很不好,他自己甚至连小学教育都没完成就中途退学了。所以,相比于同时代的其他发明家,爱迪生既没有启动资金,也没接受过系统的教育,可以说爱迪生在搞发

2017-07-21 16:24:36 1094

原创 《黑科技》

【 随着医学领域的发展,人类活到一二百岁,甚至更长,并非遥不可及。】        未来的世界什么样?最前沿的科技会给人类生活带来哪些改变?它们的原理又是什么?        依靠克隆、干细胞等技术,人类可以修复受损的身体,开展器官移植;通过对长寿基因的研究,人们可以延年益寿;外骨骼能让人成为钢铁侠,而探测雷达能让你拥有 “火眼金睛”;机器的深度学习与 “天罗地网” 的结合,让人与世界以更奇妙的

2017-07-21 15:46:53 1750

原创 《超越感觉》

【 如何避开思考中的错误,掌握批判思考正确方法,看美国教授出品的行动指南。】          感觉总是无意识的,容易让人产生不明智的行为。《超越感觉》这本书告诉我们,相比感觉,我们更需要批判性思考。          本期音频将详细介绍两部分内容,一部分是我们很多人在思考过程中容易犯的错误,书里把它们归纳成了 30 多种,比如凡事以 “我” 为中心,比如攻击批评者,再比如无根据的假定。另一部分

2017-07-19 20:45:47 1981

原创 系统时钟MPLL和定时器操作实例

操作流程:首先启动MPLL提高系统时钟,初始化存储控制器使SDRAM工作在新的HCLK下,然后将定时器0设为2.5s产生一次中断,在中断程序里改变LED的状态。 timer.ldsSECTIONS { . = 0x30000000;/*设置当前运行地址为0x30000000*/ .text : { *(.text) }/*所有输入文件的代码段*/

2017-07-19 19:40:51 1865

原创 JZ2440系统时钟和定时器

系统时钟 首先看下各个模块与时钟总线的关系:芯片刚开始上电时, 运行的时钟就等于晶振的时钟Fin, 通过设置MPLL和UPLL可以提升运行频率.MPLL计算方法: 例: Fout = (2 * (MDIV + 8) * Fin) / ((PDIV + 2) * (2^SDIV)) Fout = 200MHz = (2 * (92 + 8) * 12) / (1 + 2) * (2

2017-07-19 18:50:18 6441

原创 番茄工作法 计划表格式

总结一个易记的番茄工作法则:1.一个番茄钟由25分钟工作+5分钟休息组成;2.每4个番茄钟一组,之后有15-30分钟休息时间;3.番茄钟不可分割,没有一半或四分之一番茄钟;4.一旦番茄钟启动,就必须走到响铃;5.如果番茄钟开始后,一项工作提前完成,继续检查修改,直到番茄钟响铃;6.遇到中断,尽量保护番茄钟;7.如果番茄钟被明确地打断则番茄钟视为无效,和没开始过一样,不能标记x;8.超过5-7个番茄,

2017-07-19 10:54:26 19239 1

原创 JZ2440的中断控制器

[点此回顾上课学习内容] S3C2440的中断分为两大类: 外部中断 和 内部中断.一 外部中断EXTINT[x]: 用来配置各个引脚的中断触发方式 (高电平触发、低电平触发、下降沿触发、上升沿触发), 注意该寄存器与中断源的对应关系EINTPEND[x]: xxxPEND的寄存器都是状态寄存器, 初始化时先清除标志, 在清除中断的时候将寄存器的值赋值给本身即可EINTMASK[x]: 1

2017-07-19 10:41:57 929

原创 《具身认知》

【 大脑并不总是能分清楚真假,这也是为什么当你微笑,你就真的开心起来了。】 我们常常认为自己的行为都是被大脑操控的,比如说大脑告诉你饿了,你就会马上去找食物填饱肚子。这期音频会告诉你,有可能情况并不是这样的。 本期音频描述了一个新兴的心理学领域,带你探索身体和大脑之间的秘密。通过本期音频,你可以了解到身体是如何通过情绪来影响大脑的、是如何通过偏好来影响决策的、是如何通过感知温度来影响我们的知觉和

2017-07-18 23:47:10 1933

原创 《番茄工作法》

【 番茄工作法,让你高效地完成任务,减少拖延,更好地掌握时间和生活。 】          你有拖延症吗?你能专注一件事 10 分钟吗?你是否和我一样,工作时不知不觉地走神去干别的事了?本期音频为你分享时下超级流行的高效时间管理工具 “番茄工作法”,告诉你如何高效地专注工作。          成甲将用 22 分钟左右的时间,告诉你什么是番茄工作法以及如何执行番茄工作法。 你将听到:番茄工作

2017-07-17 16:37:51 1730

原创 美化CodeBlocks的主题和字体

笔者一直用VC6.0,每次在window10下调试两三次就挂了,怒换了CODE::BLOCKS编译器。觉得真心好用,但是自带的主题确实不好看,下面让我们来搭建CODEBlocks的美化环境。效果图: 开始配置第一步&lt;配置文件准备&gt;:下载配置文件default.conf,点击我进入下载界面。 里面有CODEBLOCKS的安装包和主题配置文件...

2017-07-16 16:53:47 79197 60

原创 《快速阅读》 -豆瓣评分8.0

《快速阅读》 【 快速阅读的原理是省去听觉的通道,直接让文字变成可以被理解的信号。】        怎样提高阅读的速度?看完了一本书,总记不住关键信息怎么办?怎样在快速阅读中又快又准地抓住书中的重点?        阅读是我们从小就在学习的重要技能,但很多时候我们都处在原始的阅读水平,这种逐字逐句阅读的方法是非常低效率的。        针对以上问题,本期音频为我们讲述了阅读的原理和方法,告

2017-07-16 12:31:29 1325

原创 CodeBlocks的常用快捷键

CodeBlocks常用操作快捷键编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z:重做Ctrl+Shift+C:注释掉当前行或选中块Ctrl+Shift+X:解除注释Tab:缩进当前行或选中块Shif

2017-07-16 11:21:14 5640

原创 【补充】关于ARM的PC指针异常返回处理(PC+8,PC+4,PC-4,PC-8情况)

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼分享一个大神朋友的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程。写得特别用心喔~→→→→→→大神朋友简介:从事十几年人工智能研究,麻省理工博士学位,目前在百度继续进行着人工智能的研究。。。▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲...

2017-07-15 22:03:12 13163 9

原创 《自私的皮球》 -豆瓣评分8.6

【 所有经济行为都可以用均衡、激励、信息与风险、资源识别四种工具进行分析。】       你觉得饭店收取开瓶费合理吗?你知道赌博为何难以绝迹吗?你认为整治号贩子有助于缓解挂号难的问题吗?       在这期音频中,我们将通过三个生活中的具体案例,来了解如何用经济学思维进行思考。用四种简单的经济分析工具,分别对饭店收取开瓶费的合理性、赌博存在的原因、号贩子为何能赚钱等问题进行分析和解释。

2017-07-15 16:00:06 1056

原创 Subdirectory 【Introduction to Linux basics】

【Linux基础入门】 硬件知识:看懂原理图、通信协议、芯片手册学前班第 1 课 第 1 节_怎么看原理图之 GPIO 和门电路学前班第 1 课 第 2.1 节_怎么看原理图之协议类接口之 UART学前班第 1 课 第 2.2 节_怎么看原理图之协议类接口之 I2C学前班第 1 课 第 2.3 节_怎么看原理图之协议类接口之 SPI学前班第 1 课 第 2.4 节_怎么看原理图之协议类接

2017-07-14 15:51:44 859

原创 《真实的幸福》 -豆瓣评分8.2

《真实的幸福》【 幸福没有统一的标准,但却随着精神的投入而有着不同的蓬勃程度。】       幸福应该怎么下定义?如何提升幸福感?       本期音频取材于 “积极心理学之父” 马丁 · 塞利格曼关于幸福的研究,他提出了关于幸福的全新理念:当你的精神投入带来了生命的蓬勃和丰盈的时候,你才会觉得幸福。       真正的幸福来源于你对自身优势的辨别和运用,来源于你对生活意义的理解和追求,它是可

2017-07-14 13:29:24 1524

原创 General List

点击即可查阅~1、【终身学习 生活化】2、【终身学习 职业化】3、【C语言高级编程】

2017-07-14 01:38:36 1990 3

原创 《麦肯锡精英的谈判策略》 -豆瓣评分8.2

《麦肯锡精英的谈判策略》【 谈判的本质不是击败对方,而是有效协商,让双方都满意。 】        成为谈判高手的必备技能是良好的口才吗?咄咄逼人、寸步不让是取得谈判成功的关键吗?        仅有好的口才,并不是成功谈判的关键。谈判需要设定合理的分级目标,并保持足够的耐心,获得更多的有利条件;要用强大的逻辑恰当组织观点和证据,有效增强说服力;要在谈判中时刻保持警醒,避免对方的战术陷阱。

2017-07-13 20:21:11 1572

原创 NandFlash 控制器操作实例:读Flash

摘要: 本文以S3C2440为例来讲解NAND FLASH控制器的使用方法. 例程中故意将一部分代码放置到 nand 的4k 字节之后, 因无法自动拷贝到steppingstone, 所以需要读取nand中的内容到sdram。代码执行示意图: nand.ldsSECTIONS { firtst 0x00000000 : { head.o init.o nand.o} /*hea

2017-07-13 19:43:18 6874

原创 《硅谷模式》

《硅谷模式》、【 如果上级握有 “生杀予夺” 的大权,下级就会牺牲公司的利益,力求满足上级意愿。平等的契约关系才是创新保障。】        硅谷作为一个整体,在用产品和创新精神改变着世界。这一切是怎么发生的?        硅谷模式本质上是一种管理模式,它由 “推门文化”、“试错文化”、“工程师文化” 等一系列机制和具体实践组成。由于组织层级的精简,信息得以高效传递;由于对失败的宽容,人们敢于

2017-07-13 17:23:57 2830 1

原创 【补充】NAND FLASH大页和小页的区别

NAND FLASH有两类:大页的NAND和小页的NAND。每种NAND的一页中都有数据段(datafield)和附加段(Spare Field),datafield用于存放数据用的,Spare Field读写操作的时候存放校验码用的,大页的NAND中数据段2048B、附加段64B;小页的NAND中数据段512B、附加段16B。小页的NAND是:One page = 512B(datafield)

2017-07-13 16:01:19 7296

原创 JZ2440的NandFlash控制器

芯片的型号:K9F2G08U0C摘要: 本文以S3C2440为例来讲解NAND FLASH控制器的使用方法. 例程中故意将一部分代码放置到 nand 的4k 字节之后, 因无法自动拷贝到steppingstone, 所以需要读取nand中的内容到sdram, 本例程重点关注nand的初始化和读取.1. 硬件部分:1.1 简介:芯片大小:256

2017-07-13 11:20:24 1468

原创 makefile:4: *** missing separator. Stop.

如图:解决方法:Makefile格式命令前需要有一个table在第4行前面加上一个tabletable>

2017-07-12 11:22:15 3358

原创 如何解决warning: no newline at end of file?

编写代码的时候, 是在共享文件夹Windows下编辑的, 保存后放在linux系统下编译.英文的意思就是说文末没有换行符。windows中按下回车键等效于"\r\n",在linux中按下回车键等效于'\n',在mac中按下回车键等效于'\r';在最后一行处打多一个回车,多一个空行出来就可以了。汇编文件中这个警告还没有解决,先留着。

2017-07-12 11:00:48 20145

原创 Error: no such instruction: `ldr sp,=4096'

错误提示如图:我的汇编文件名字为.S(大写)查看Makefile%.o:%.s将%.s改成%.S即可。注意文件名与Makefile的一致性!

2017-07-12 10:54:23 1506

Vxworks设备驱动 曹桂平版

vxworks设备驱动开发详解-曹桂平版    十年经典-vxworks设备驱动开发详解的电子版 超清无水印pdf文档,带标签。 自用的 分享给大家!

2019-04-10

Bull120U.dll

下载这个dll以后可以在百度云管家下载资源

2018-04-20

ippicv_windows_20151201.zip

CMake+OPENCV3.1

2017-04-20

空空如也

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

TA关注的人

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