u-boot 2011.09 调用kernel 的流程】的更多相关文章

这段时候我总是觉得有个问题,u-boot 的存在是不是就是为了调用kernel 而存在的. 所以,粗浅的跟了一下这个流程,还有很多细节上的东西没有做好,往指正. u-boot-2011.9 调用内核代码跟踪1. _start  board_init_r  main_loop.这个流程是u-boot 的一个整体的流程. 2. main_loop()这个函数主要执行一些u-boot 最后的一些工作, #if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOT…
虽然这里的Arm Linux kernel前面加上了Android,但实际上还是和普遍Arm linux kernel启动的过程一样的,这里只是结合一下Android的Makefile,讲一下bootimage生成的一个过程.这篇文档主要描述bootimage的构造,以及kernel真正执行前的解压过程. 在了解这些之前我们首先需要了解几个名词,这些名词定义在/Documentation/arm/Porting里面,这里首先提到其中的几个,其余几个会在后面kernel的执行过程中讲述: 1)ZT…
一.前言 我们在项目开发过程中,很多时候会出现由于某种原因经常会导致手机系统死机重启的情况(重启分Android重启跟kernel重启,而我们这里只讨论kernel重启也就是 kernel panic 的情况),死机重启基本算是影响最严重的系统问题了,有稳定复现的,也有概率出现的,解题难度也千差万别,出现问题后,通常我们会拿到类似这样的kernel log信息(下面log仅以调用BUG()为例,其它异常所致的死机log信息会有一些不同之处): [ 2.052157] <2>-(2)[1:swa…
http://www.blogjava.net/xzclog/archive/2011/09/29/359789.html http://bbs.csdn.net/topics/380187593…
http://www.ruanyifeng.com/blog/2011/09/restful…
假设你在virtualbox里得到这种提示信息: Unable to boot - please use a kernel appropriate for your CPU 以下的解决的方法,能够帮你: 1.重新启动你的电脑进入BIOS中,里面有选项虚拟化技术之类的,让其选项[Enable] 假设这样做还解决不了你的问题,尝试另外一种办法. 2.进入virtualbox的设置中,点击System,选 Enable PAE/NX,如图: watermark/2/text/aHR0cDovL2Jsb…
JNI/NDK Java调用C/C++前言  通过第三篇文章讲解在实际的开发过程中Java层调用C/C++层的处理流程.其实我们在很大的业务里也需要C/C+ +层去调用Java层,这两层之间的相互调用显得如此的重要,正式两层之间的相互调用使得程序更具有高效性.安全性可言.下面主要讲解一下C/C+ +层调用Java层的处理流程. JNI/NDK Java调用C/C++ 编写java文件  同样我们也需要先写java文件,用来让C/C++调用java层的方法,实现具体的业务逻辑. public cl…
异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot – please use a kernel appropriate for your CPU" 解决方法…
一个新的方案,用的UBOOT 可能和上一个方案是同一个,但是配置有可能不一样,今天记录一下通过修改配置文件使用新的 board 文件以及 config.h 进入 u-boot 2011.09 // 打开 boards.cfg // vim boards.cfg // 这一行是旧的 171 ok335x arm armv7 ok335x forlinx ti81xx // 新增 ECM_5412 规则 172 ECM_5412 arm armv7 ECM_5412 aplex ti81xx //…
异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot – please use a kernel appropriate for your CPU" 解决方法 作者:毒逆天 出处:http://dunitian.cnblo…
一.自动生成验证程序testbench的方法,setting-EDA Tool->simylation->选择对应的语言(verilog对应*.vt,VHDL对应*.vht)processing-->start-->start test bench template writer.二.Quartus 中调用modelsim的流程 1. 设定仿真工具   assignmentèsettingèEDA tool settingèsimulation 选择你需要的工具.    2. 自动…
Spring Boot 异步方法的调用 参考资料: 1.Spring Boot中使用@Async实现异步调用 使用方法 两个步骤: 1.开启配置 @EnableAsync,这一步特别容易忘记,导致测试的时候不生效,所以请留意. 2.使用注解 @Async 特别注意: @Async所修饰的函数不能定义为 static 类型,如果是 static 类型异步调用不会生效. 如何获得异步方法的返回值 1.将异步方法原来的 void 声明改为 Future<T>: 2.异步方法的返回值为 new Asy…
转自 https://blog.csdn.net/ooonebook/article/details/53495021 一.bootm说明 bootm这个命令用于启动一个操作系统映像.它会从映像文件的头部取得一些信息,这些信息包括:映像文件的基于的cpu架构.其操作系统类型.映像的类型.压缩方式.映像文件在内存中的加载地址.映像文件运行的入口地址.映像文件名等. 紧接着bootm将映像加载到指定的地址,如果需要的话,还会解压映像并传递必要有参数给内核,最后跳到入口地址进入内核. 这里的描述参考(…
linux kernel启动是从./init/main.c中开始的,其大概流程是: 1. 调用start_kernel()函数: 2. start_kernel()调用rest_init()函数: 3. rest_init()调用kernel_init()函数: 4. kernel_init()调用init_post()函数: 5. init_post()调用run_init_process()函数去创建init进程, 这个函数中的代码如下: run_init_process("/init&qu…
1 在Spring Boot可以扫描的包下 假设我们编写的工具类为SpringUtil. 如果我们编写的SpringUtil在Spring Boot可以扫描的包下或者使用@ComponentScan引入自定义的包了,那么原理很简单,只需要使得SpringUtil实现接口:ApplicationContextAware,然后加上@Component 注解即可,具体编码如下: com.kfit.base.util.SpringUtil: package com.kfit.base.util; imp…
一.服务端(也叫周边设备吧..脑残的翻译) 1.实现类必须遵守协议 CBPeripheralManagerDelegate 2.需要的主要类有: @property(strong,nonatomic) CBPeripheralManager *peripheraManager; @property(strong,nonatomic) CBMutableCharacteristic *customerCharacteristic; @property (strong,nonatomic) CBMu…
一.主要是start.S 里面的 board_init_f 以及 board_init_r 函数分析,MLO与 u-boot.omg 的区别就在这里 二. MLO 加载完毕,他会重新回到 start.S 重新开始 三. board_init_f 函数的实现在 arch/arm/lib/board.c 里面 264 void board_init_f(ulong bootflag) 265 { 266 bd_t *bd; 267 init_fnc_t **init_fnc_ptr; 268 gd_…
2011年中旬,Linux内核官网kernel.org遭到黑客入侵,攻击者植入了rootkit Phalanx,并在服务器上设置了SSH后门,kernel.org为此关闭了三周多时间.官方表示将会公开有关此次入侵的报告,但这一承诺并未兑现,直到现在:美国司法部发表新闻稿,宣布佛罗里达警方于8月28日逮捕了27岁的程序员Donald Ryan Austin,他在缴纳了5万美元保释金后被释放. 如果被定罪,他面临最高10年刑期,25万美元罚款和其它赔偿.…
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象获得完整的包名和类名 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect;   /**  * 通过一个对象获得完整的包名和类名  * */ class Demo{     //other codes... }   class hello{   …
Spring Boot可以非常简单的发布和调用RESTful web service,下面参考官方指导体验一下 1.首先访问 http://start.spring.io/ 生成Spring Boot基础项目 或者使用git clone https://github.com/spring-guides/gs-rest-service.git 这里使用Maven导入IDEA如下: 此时项目已经可以启动,但是没有任何功能,可以看到启动日志中嵌入tomcat的信息: 2.添加代码: @JsonIgno…
转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用spring提供的其他对象或者说有一些不需要交给spring管理,但是需要用到spring里的一些对象.如果这是spring框架的独立应用程序,我们通过 Application…
我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用spring提供的其他对象或者说有一些不需要交给spring管理,但是需要用到spring里的一些对象.如果这是spring框架的独立应用程序,我们通过 ApplicationContext ac = new FileSystemXmlApplicationContext("applicationC…
上一张我们讲到 Spring Boot 开发 WebService 服务,本章研究基于 CXF 调用 WebService.另外本来想写一篇 xfire 作为 client 端来调用 webservice 的代码.后来发现 xfire 在2007 你那巅峰时刻,已经不再更新,而后来的 Spring 已经抛弃了部分 Api.导致现在已经不兼容了. 本项目源码 github 下载 1 新建 Spring Boot Maven 示例工程项目 注意:是用来 IDEA 开发工具 File > New >…
除了 CXF 我们还可以使用 Spring Boot 自身默认的组件 JAX-WS 来实现 WebService 的调用. 本项目源码 github 下载 1 新建 Spring Boot Maven 示例工程项目 注意:是用来 IDEA 开发工具 File > New > Project,如下图选择 Spring Initializr 然后点击 [Next]下一步 填写 GroupId(包名).Artifact(项目名) 即可.点击 下一步 groupId=com.fishpro artif…
在SpringBoot+Cloud的项目中,我们使用了自动配置的OAuth2RestTemplate,RestTemplate,但是在使用这些restTemplate的时候,url必须是服务的名称,如果要调用真实的域名或者ip的url,会有错误,如下: UriComponents b = UriComponentsBuilder.fromUriString("http://www.baidu.com").build(); String str = rest.getForObject(b…
编写一个Java类,并且在某个方法签名的修饰符中加上native修饰符. 使用Javac命令编译第一步中的Java类,使之成为一个class文件. 使用Javah -jni 包名.类名 生成Jni接口头文件. 将上一步生成的Jni头文件复制到项目下的jni目录,并建立一个cpp文件实现该JNI头文件中的函数. 编写Android.mk文件,加入第四步的本地代码,使用ndk-build生成动态链接库. 在Java中加载上一步生成的动态链接库,static { System.loadLibrary(…
今天在这里学习下使用springboot的异步调用async 首先使用@EnableAsync开启异步功能 /** * @author fengzp * @date 17/5/8 * @email fengzp@gzyitop.com * @company 广州易站通计算机科技有限公司 */ @SpringBootApplication @EnableAsync public class Application { public static void main(String[] args) {…
static作用(修饰函数.局部变量.全局变量) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c. 下面是a.c的内容 char a = 'A'; // global variablevoid msg() {    printf("Hello\n…
1.新建fun.c文件和fun.h文件 #include <stdio.h> #include <stdlib.h> #include <string.h> int fac(int n) { if(n < 2) return 1; return n * fac(n-1); } char *reverse(char *s) { char t, *p = s,*q=(s+(strlen(s)-1)); while(s && (p<q)){ t =…
背景: 在项目开发中,有时候会出现接口调用失败,本身调用又是异步的,如果是因为一些网络问题请求超时,总想可以重试几次把任务处理掉. 一些RPC框架,比如dubbo都是有重试机制的,但是并不是每一个项目多会使用dubbo框架,常规的小项目有时候直接使用http进行不同项目之间的交互. 个人想法: 使用spring aop和自定义注解来,建立一套重试机制. 根据切入点和自定义注解,来完成重试工作. exps: 定义一个注解: import org.springframework.stereotype…