- setup_early_printk()函数分析
小黑屋关门了
Linux内核内核
关于setup_early_printk()函数,主要用来注册用于启动阶段显示的控制台。内核中声明了一个全局变量early_console,并将定义的全局变量early_console_prom赋值给它,随后开始注册early_console_prom所抽象的终端。上述原型如下:structconsole*early_console;staticvoidearly_console_write(st
- LicheePi Nano开启early printk
fefr
原本已经可正常进入系统了,但开启Tracers后就卡在Startingkernel...了,经一番搜索后发现可使用earlyprintk查看死机原因。LicheePiNano打开earlyprintk方法可参考此处及此处:[*]Kernellow-leveldebuggingfunctions(readhelp!)Kernellow-leveldebuggingport(Kernellow-lev
- Linux启动参数及实现 __setup与early_param
adaptiver
linux开发
Linux启动参数及实现__setup与early_paramhttp://blog.csdn.net/tommy_wxie/article/details/8041487#define__setup_param(str,unique_id,fn,early)/staticchar__setup_str_##unique_id[]__initdata=str;/staticstructobs_ke
- linux3.10 系统start_kernel初始化流程详解(二)
oqqYuJi12345678
(20)jump_label_init();这边是个空函数,不做处理(21)setup_log_buf(0);这个函数如果初始化了new_log_buf_len变量,则为logbuf分配空间,可以看到他的定义方式:early_param("log_buf_len",log_buf_len_setup);因为在bootargs中没有带入log_buf_len参数,所以并没有初始化,这里不做处理(22
- 打开CMDLINE中的 ” earlyprink “ 参数
无敌小电工
嵌入式
解决问题的过程中,好文章推荐,都保存在火狐
[email protected]记录中~~~~~~~~grep-r"earlyprintk"kernelkernel/Documentation/driver-model/platform.txt:shoulduseearly_platform_init("earlyprintk",&platform_driver)../arch/sh/configs/s
- 串口 (四) linux串口之驱动代码
__pop_
驱动
earlyconsole之earlyprintk需要平台侧实现printchearlyconsole之earlycon//驱动需要实现的代码staticvoidpl011_putc(structuart_port*port,intc){while(readl(port->membase+UART01x_FR)&UART01x_FR_TXFF)//寄存器在平台相关侧定义,基址有上层传入;writeb
- 一 uboot传递参数'console=ttyXXX'的作用
paomadi
linux设备驱动linux内核相关linux设备驱动
linux启动时uboot传递进console=ttyS0,115200n8的参数内核中用__setup()宏声明参数处理的方法关于__setup宏参考early_param和__setup宏__setup("console=",console_setup);console_setup函数处理1.console_cmdline结构体structconsole_cmdline{charname[
- Linux终端控制台console和earlycon分析
LoneHugo
early_console是Kernel初始化初期建立起来用于串行输出的设备,源码在earlycon.c中实现。1.初始化入口Kernel中early_param通常作为模块初始化入口元素的定义,在Kernel初始化时执行解析和模块初始化。LinuxKernel中众多模块或驱动子系统均通过这种方式定义其初始化入口。在Kernel初始化汇编代码执行完跳转到start_kernel之后,setup_a
- 内核的链接脚本文件vmlinux.lds.S
bugouyonggan
linux内核
跟我学系列-移植内核必备知识-对linux的earlyprintk的探讨嵌入式开发联盟www.mcuos.comOsboy站长原创QQ:
[email protected]是如何组织内核的每个函数存放在内核镜像文件的位置,我们知道你在编译内核生成内核文件的时候,其实这个过程分两步,一个是“编译”,另一个是“链接”的过程,vmlinux.lds.S要做的就
- __setup、early_param的解析
param
内核初始化时根据字符串匹配获得相应的处理函数,查找的时候有些麻烦。
写个脚本对将内核中的__setup和early_param显式做了解析:
__setup
#! /bin/bash
- tiny4412 串口驱动分析七 --- log打印的几个阶段之内核启动阶段(earlyprintk)
print
作者:彭东林
邮箱:
[email protected]
开发板:tiny4412ADK+S700 4GB Flash
主机:Wind7 64位
虚拟机:Vmware+Ubuntu12_04
u-boot:U-Boot 2010.12
Linux内核版本:linux-3.0.31
Android版本:android-4.1.2
下面要分析的是
- early_param("earlyprintk", setup_early_printk);
ermuzhi
LINUX/android/kernel/arch/arm64/kernel/early_printk.ccmdline=earlyprintk=msm_hsl_uart,0x078af000
- linux 内核的early_param
赵梦茹2012
linux内核的early_param
#define __setup_param(str, unique_id, fn, early)\
static const char __setup_str_##unique_id[] __initconst\
__aligned(1) = str; \
static struct obs_kernel_param __setup_##unique_id\
__used __section(.i
- Linux启动参数及实现 __setup与early_param
qq405180763
linux启动参数
#define__setup_param(str,unique_id,fn,early) / staticchar__setup_str_##unique_id[]__initdata=str; / staticstructobs_kernel_param__setup_##unique_id / __attribute_used__
- 怎样自动运行ftrace
u011279649
怎样通过uboot把traceevent等设置到kernel,并自动运行?参数的设定一般是通过early_param/__setup这两种方法:early_param("lapic",parse_lapic);__setup("ftrace_notrace=",set_ftrace_notrace);在内核代码中搜索early_param/__setup并在结果中搜索trace,得到Ftrace.
- Linux内核的early_param原理追踪
u012903992
early_param用于注册内核选项解析的处理函数。与之类似的,__setup也是用于这个目的。在后文会慢慢看出这两者的区别。先看它们的定义:/*
*Onlyforreallycorecode.Seemoduleparam.hforthenormalway.
*
*Forcethealignmentsothecompilerdoesn'tspaceelementsofthe
*obs_kerne
- Linux启动参数及实现 __setup与early_param
njuitjf
转自:http://blog.csdn.net/tommy_wxie/article/details/8041487 #define__setup_param(str,unique_id,fn,early) / staticchar__setup_str_##unique_id[]__initdata=str; / staticstructobs_kernel_pa
- Linux内核-----early_param原理追踪
yf210yf
early_param用于注册内核选项解析的处理函数。与之类似的,__setup也是用于这个目的。在后文会慢慢看出这两者的区别。先看它们的定义:123456789101112131415161718192021/* *Onlyforreallycorecode. Seemoduleparam.hforthenormalway. * *Forcethealignmentsothecompilerdo
- Linux内核参数和模块参数
zahuopuboss
linux内核参数模块参数
内核代码文档kernel-parameters.txt中列出了内核支持的参数这里的内核参数指通过内核加载器,如GRUB传递给内核的参数 内核参数内核中大部分的内核参数使用宏__setup来定义在内核代码树下使用-rin"__setup(\"*\""查看定义了哪些参数例如__setup("selinux=",selinux_enabled_setup); 使用宏early_param定义需要及早处理
- 一 uboot传递参数'console=ttyXXX'的作用
jgdu1981
linux启动时uboot传递进console=ttyS0,115200n8的参数内核中用__setup()宏声明参数处理的方法关于__setup宏参考early_param和__setup宏[cpp]viewplaincopy__setup("console=", console_setup); console_setup函数处理1.console_cmdline结构体[cpp]viewp
- 一 uboot传递参数'console=ttyXXX'的作用
paomadi
linux启动时uboot传递进console=ttyS0,115200n8的参数内核中用__setup()宏声明参数处理的方法关于__setup宏参考early_param和__setup宏__setup("console=",console_setup);console_setup函数处理1.console_cmdline结构体structconsole_cmdline
{
charn
- early_param和__setup宏
paomadi
一.宏的定义在/include/linux/Init.h中#define__setup(str,fn)\
__setup_param(str,fn,fn,0) #defineearly_param(str,fn)\
__setup_param(str,fn,fn,1)两个宏都会调用__setup_param跟踪进__setup_param宏的定义#define__setup_param(str
- 究竟有多少linux内核命令行参数
起乎一心
linux内核命令行参数
linux启动时可以带命令行参数,这些参数会影响内核乃至启动脚本的行为。在内核中,用early_param(命令行参数名称,命令行参数处理函数)来注册。除了内核参数,还可以有其他的命令行参数,各自有自己的主人,比如我早期设计的双区启动方案,就是通过传递命令行参数“right”或者“left”来告诉启动脚本,当前是从左边还是从右边启动的,从而可以mount合适的分区。这里我们只列出可以影响内核行为
- Linux启动参数及实现 __setup与early_param
Tommy_wxie
linuxstructcommand
#define__setup_param(str,unique_id,fn,early) / staticchar__setup_str_##unique_id[]__initdata=str; / staticstructobs_kernel_param__setup_##unique_id / __attribute_used__
- Linux内存分析(2) -- mm\bootmem.c
longyue0917
linuxstructlistnullUPeach
我们看下boot传入的命令为:"noinitrdroot=/dev/mtdblock2init=/linuxrcconsole=ttySAC0rootfstype=cramfsmem=64M" 进入setup_arch函数后,首先遇到的和内存管理有关的,是parse_cmdline函数。在arch\arm\kernel\setup.c中,mem命令参数被预执行。(关于其他__early_param
- Linux中的parse_cmdline详解
voice_shen
linuxstruct
[注:内核版本Linux-2.6.30]parse_cmdline的主要作用是用来解析命令行参数。 其实现原理:一个无穷循环,首先来查找第一个空格,如果找到,来空格之前的字符串是否与early_param相匹配,如果是,则通过实现的功能函数来找出其体参数。如果找到字串的末尾或cmdline的长度大于默认长度,则跳出循环。其定义在:arch/armkernel/setup.c其实现代码如下:下面
- kernel启动控制台还不可用时发生crash的调试方法
zanget
clinuxCrashdebugging
kernel启动控制台还不可用时发生crash的调试方法在调试linuxkernel时,如果crash发生在控制台还不可用时,那将没有任何信息能够被打印,那分析原因就变成了一摸黑。有以下方法有助于帮助分析:1,earlyprintk在kernel配置选项中启用CONFIG_EARLY_PRINTK=y,那将可借助early_printk()函数打印信息,用early_printk在kernel启
- uclinux内核参数处理(5):earlyprintk
xiaoer_1982
.netBlog
rev 0.1
快乐虾
http://blog.csdn.net/lights_joy/
[email protected]
本文适用于
ADI bf561 DSP
优视BF561EVB开发板
uclinux-2008r1.5-rc3 (smp patch)
Visual DSP++ 5.0(update 5)
- Spring4.1新特性——综述
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- Schema与数据类型优化
annan211
数据结构mysql
目前商城的数据库设计真是一塌糊涂,表堆叠让人不忍直视,无脑的架构师,说了也不听。
在数据库设计之初,就应该仔细揣摩可能会有哪些查询,有没有更复杂的查询,而不是仅仅突出
很表面的业务需求,这样做会让你的数据库性能成倍提高,当然,丑陋的架构师是不会这样去考虑问题的。
选择优化的数据类型
1 更小的通常更好
更小的数据类型通常更快,因为他们占用更少的磁盘、内存和cpu缓存,
- 第一节 HTML概要学习
chenke
htmlWebcss
第一节 HTML概要学习
1. 什么是HTML
HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片,表格,链接等。浏览器(IE,FireFox等)软件知道HTML语言的语法,可以用来查看HTML文档。目前互联网上的绝大部分网页都是使用HTML编写的。
打开记事本 输入一下内
- MyEclipse里部分习惯的更改
Array_06
eclipse
继续补充中----------------------
1.更改自己合适快捷键windows-->prefences-->java-->editor-->Content Assist-->
Activation triggers for java的右侧“.”就可以改变常用的快捷键
选中 Text
- 近一个月的面试总结
cugfy
面试
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46753275
前言
打算换个工作,近一个月面试了不少的公司,下面将一些面试经验和思考分享给大家。另外校招也快要开始了,为在校的学生提供一些经验供参考,希望都能找到满意的工作。 
- HTML5一个小迷宫游戏
357029540
html5
通过《HTML5游戏开发》摘抄了一个小迷宫游戏,感觉还不错,可以画画,写字,把摘抄的代码放上来分享下,喜欢的同学可以拿来玩玩!
<html>
<head>
<title>创建运行迷宫</title>
<script type="text/javascript"
- 10步教你上传githib数据
张亚雄
git
官方的教学还有其他博客里教的都是给懂的人说得,对已我们这样对我大菜鸟只能这么来锻炼,下面先不玩什么深奥的,先暂时用着10步干净利索。等玩顺溜了再用其他的方法。
操作过程(查看本目录下有哪些文件NO.1)ls
(跳转到子目录NO.2)cd+空格+目录
(继续NO.3)ls
(匹配到子目录NO.4)cd+ 目录首写字母+tab键+(首写字母“直到你所用文件根就不再按TAB键了”)
(查看文件
- MongoDB常用操作命令大全
adminjun
mongodb操作命令
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。
一
- bat调用jar包并传入多个参数
aijuans
下面的主程序是通过eclipse写的:
1.在Main函数接收bat文件传递的参数(String[] args)
如: String ip =args[0]; String user=args[1]; &nbs
- Java中对类的主动引用和被动引用
ayaoxinchao
java主动引用对类的引用被动引用类初始化
在Java代码中,有些类看上去初始化了,但其实没有。例如定义一定长度某一类型的数组,看上去数组中所有的元素已经被初始化,实际上一个都没有。对于类的初始化,虚拟机规范严格规定了只有对该类进行主动引用时,才会触发。而除此之外的所有引用方式称之为对类的被动引用,不会触发类的初始化。虚拟机规范严格地规定了有且仅有四种情况是对类的主动引用,即必须立即对类进行初始化。四种情况如下:1.遇到ne
- 导出数据库 提示 outfile disabled
BigBird2012
mysql
在windows控制台下,登陆mysql,备份数据库:
mysql>mysqldump -u root -p test test > D:\test.sql
使用命令 mysqldump 格式如下: mysqldump -u root -p *** DBNAME > E:\\test.sql。
注意:执行该命令的时候不要进入mysql的控制台再使用,这样会报
- Javascript 中的 && 和 ||
bijian1013
JavaScript&&||
准备两个对象用于下面的讨论
var alice = {
name: "alice",
toString: function () {
return this.name;
}
}
var smith = {
name: "smith",
- [Zookeeper学习笔记之四]Zookeeper Client Library会话重建
bit1129
zookeeper
为了说明问题,先来看个简单的示例代码:
package com.tom.zookeeper.book;
import com.tom.Host;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Wat
- 【Scala十一】Scala核心五:case模式匹配
bit1129
scala
package spark.examples.scala.grammars.caseclasses
object CaseClass_Test00 {
def simpleMatch(arg: Any) = arg match {
case v: Int => "This is an Int"
case v: (Int, String)
- 运维的一些面试题
yuxianhua
linux
1、Linux挂载Winodws共享文件夹
mount -t cifs //1.1.1.254/ok /var/tmp/share/ -o username=administrator,password=yourpass
或
mount -t cifs -o username=xxx,password=xxxx //1.1.1.1/a /win
- Java lang包-Boolean
BrokenDreams
boolean
Boolean类是Java中基本类型boolean的包装类。这个类比较简单,直接看源代码吧。
public final class Boolean implements java.io.Serializable,
- 读《研磨设计模式》-代码笔记-命令模式-Command
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* GOF 在《设计模式》一书中阐述命令模式的意图:“将一个请求封装
- matlab下GPU编程笔记
cherishLC
matlab
不多说,直接上代码
gpuDevice % 查看系统中的gpu,,其中的DeviceSupported会给出matlab支持的GPU个数。
g=gpuDevice(1); %会清空 GPU 1中的所有数据,,将GPU1 设为当前GPU
reset(g) %也可以清空GPU中数据。
a=1;
a=gpuArray(a); %将a从CPU移到GPU中
onGP
- SVN安装过程
crabdave
SVN
SVN安装过程
subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-openssl=/
- sql 行列转换
daizj
sql行列转换行转列列转行
行转列的思想是通过case when 来实现
列转行的思想是通过union all 来实现
下面具体例子:
假设有张学生成绩表(tb)如下:
Name Subject Result
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
*/
/*
想变成
姓名 &
- MySQL--主从配置
dcj3sjt126com
mysql
linux下的mysql主从配置: 说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低, Master的版本肯定不能高于Slave版本。(版本向下兼容)
mysql1 : 192.168.100.1 //master mysq
- 关于yii 数据库添加新字段之后model类的修改
dcj3sjt126com
Model
rules:
array('新字段','safe','on'=>'search')
1、array('新字段', 'safe')//这个如果是要用户输入的话,要加一下,
2、array('新字段', 'numerical'),//如果是数字的话
3、array('新字段', 'length', 'max'=>100),//如果是文本
1、2、3适当的最少要加一条,新字段才会被
- sublime text3 中文乱码解决
dyy_gusi
Sublime Text
sublime text3中文乱码解决
原因:缺少转换为UTF-8的插件
目的:安装ConvertToUTF8插件包
第一步:安装能自动安装插件的插件,百度“Codecs33”,然后按照步骤可以得到以下一段代码:
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a30980927
- 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
geeksun
PHP
CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不
- Git push 报错 "error: failed to push some refs to " 解决
hongtoushizi
git
Git push 报错 "error: failed to push some refs to " .
此问题出现的原因是:由于远程仓库中代码版本与本地不一致冲突导致的。
由于我在第一次git pull --rebase 代码后,准备push的时候,有别人往线上又提交了代码。所以出现此问题。
解决方案:
1: git pull
2:
- 第四章 Lua模块开发
jinnianshilongnian
nginxlua
在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此模块的一个副本(Copy-On-Write),即模块可以认为是每Worker进程共享而不是每Nginx Server共享;另外注意之前我们使用init_by_lua中初
- java.lang.reflect.Proxy
liyonghui160com
1.简介
Proxy 提供用于创建动态代理类和实例的静态方法
(1)动态代理类的属性
代理类是公共的、最终的,而不是抽象的
未指定代理类的非限定名称。但是,以字符串 "$Proxy" 开头的类名空间应该为代理类保留
代理类扩展 java.lang.reflect.Proxy
代理类会按同一顺序准确地实现其创建时指定的接口
- Java中getResourceAsStream的用法
pda158
java
1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.get
- spring 包官方下载地址(非maven)
sinnk
spring
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径:
http://repo.springsource.org/libs-release-local/org/springframework/spring/
s
- Oracle学习笔记(7) 开发PLSQL子程序和包
vipbooks
oraclesql编程
哈哈,清明节放假回去了一下,真是太好了,回家的感觉真好啊!现在又开始出差之旅了,又好久没有来了,今天继续Oracle的学习!
这是第七章的学习笔记,学习完第六章的动态SQL之后,开始要学习子程序和包的使用了……,希望大家能多给俺一些支持啊!
编程时使用的工具是PLSQL