为您找到搜索结果:740个
linux2.6.30.4内核移植(4)——完善串口驱动
在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动。一、修改内核源码arch/arm/mach-s3c2440/mach-smdk2440.c文件的第100行,将其改为:/.ulcon =0x03,二、修改内核源码drivers/serial/samsung.c文件:1、在第53行添加如下内容:/#include<mach/regs-gpio.h>2、在第433行添加如下内容:/if(port->line==2) { s3c2410_gpio_cfgpin(S3C2410_GPH6,S3C2410_GPH6_TXD2); &nbs...
linux2.6.30.4内核移植(3)——yaffs文件系统移植
内核源码:linux2.6.30.4交叉编译工具:3.4.5移植linux内核至:TQ2440工作基础:http://www.cnblogs.com/nufangrensheng/p/3669623.html一、下载yaffs2源码二、进入yaffs2目录,执行打补丁脚本文件patch-ker.sh,打补丁到内核中:/cdyaffs2./patch-ker.shc…/linux2.6.30.4三、在内核配置中添加对yaffs的支持执行makemenuconfig进入配置单,具体配置如下:其他配置使用默认值。保存退出,编译镜像即可。烧写镜像文件到开发板,启动后可看到yaffs的安装信息:这样内核就支持YAFFS文件系统了。另外,内核原来已经支持JFFS2文件系统。...
linux2.6.30.4内核移植(2)——Nand Flash驱动移植
内核源码:linux2.6.30.4交叉编译工具:3.4.5移植linux内核至:TQ2440工作基础:http://www.cnblogs.com/nufangrensheng/p/3669623.htmlLinux内核中已经做好了NandFlash的驱动,只需要进行适当的修改即可使用。一、修改内核源码arch/arm/plat-s3c24xx/common-smdk.c文件:1、修改其中的smdk_default_nand_part[]结构体(大概在109行),将其修改为如下所示:/*arch/arm/plat-s3c24xx/common-smdk.c*/staticstructmtd_partitionsmdk_default_nand_part[]={[0]={.name="EmbedSky_board_uboot",.offset=0x00000000,.size=0x00040000,},[1]={.name="EmbedSky_board_kernel",.offset=0x00200000,.size=0x00300000,},[2]={.name="EmbedSky...
linux2.6.30.4内核移植(1)
内核源码:linux2.6.30.4交叉编译工具:3.4.5移植linux内核至:TQ24401、进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_COMPILE修改为如下所示:/ARCH ?=armCROSS_COMPILE ?=arm-linux-2、修改内核源码arch/arm/mach-s3c2440/mach-smdk2440.c文件,大概在163行,将s3c24xx_init_clocks(16934400);修改为/s3c24xx_init_clocks(12000000);这是因为TQ2440使用的是12MHZ的外部时钟源作为输入的。3、在内核顶层目录下执行makemenuconfig,弹出如下对话框:4、用方向键向下找到LoadanAlternateConfigurationFile,加载一个默...
Linux内核配置:定制配置选项
很多嵌入式开发人员都需要在Linux内核中添加一些特性,以支持特别的定制硬件。ARM架构的顶层Kconfig文件中,可以看到一个名为SystemType的菜单项。在ARMsystemtype提示后有一系列与ARM架构相关的选择项。ARM架构的顶层Kconfig文件通过source指令包含了具体与s3c2440相关的一些Kconfig定义:/source"arch/arm/mach-s3c2440/Kconfig"你可以在arch/arm/mach-s32440/Kconfig中添加定制的配置开关。如下为天嵌科技添加的配置开关ARCH_TQ2440:/configARCH_TQ2440 bool"EmbedSkySKY2440/TQ2440Board" &nbs...
Linux内核配置:Kconfig
Linux内核源码中,差不多有300个内核子目录都包含了名为Kconfig的文件。这个文件用于配置其所在目录的源码的特性。Kconfig中的每个配置参数都有附带的帮助文本,配置子系统会解析Kconfig的内容,并提示用户做出配置选择。配置工具(比如menuconfig)会读取各个子目录中的Kconfig文件,首先读取的是arch子目录中的Kconfig文件。它是在…/scripts/kconfig/Makefile中读取的,这个Makefile包含了与下列内容类似的相关条目:#===========================================================================#Kernelconfigurationtargets#Thesetargetsareusedfromtop-levelmakefilePHONY+=oldconfigxconfiggconfigmenuconfigconfigsilentoldconfigupdate-po-configifdefKBUILD_KCONFIGKconfig:=$(KBUILD_KC...
Linux内核配置:Makefile目标
在顶层Linux源码目录中输入命令makehelp,它会显示一长串从源码树中生成的目标列表。最常见的使用make的方式是不指定目标,在这种情况下,它会生成内核ELF文件vmlinux和针对所选架构的默认二进制镜像(例如,x86架构的bzImage)。使用make时,如果不指定目标,它也会编译所有由配置文件指定的设备驱动程序模块(内核可加载模块)。很多架构和机器类型都需要一个二进制镜像目标,而这个目标与具体使用的架构和引导加载程序有关。比较常见的这类目标是zImage。对于很多架构来说,这就是默认的二进制镜像目标,可以被加载到目标嵌入式系统中并运行。新手常犯的一个错误就是将bzImage指定为make的目标。然而,bzImage目标是针对x86/PC架构的。注意,即使是help目标(在执行命令makehelp时,我们指定了help为make的目标)也是与具体架构相关的。如果你在执行makehelp时指定了不同的架构,其输出的代码清单也会不同。…………注:目标前有星号“*”,表示此目标会默认构建。以_defconfig结尾的目标,它们都代表了默认配置。...
Linux内核配置.config文件
在命令行中,进入顶层内核目录,并输入命令makemenuconfig,就可以启动一个基于菜单的内核配置编辑器。从这里开始,你可以访问每个可用的配置参数,并生成一个定制的内核配置。当你退出配置编辑器时,它会提示你是否保存修改,如果选择保存修改,全局配置文件.config就会被更新(如果不存在,则会被创建)。顶层Makefile会使用这个.config文件来构建内核。大多数内核软件模块也通过.config文件间接地读取配置内容,原理如下:在构建过程中,构建系统会处理这个.config文件,并生成一个名为autoconf.h的C语言头文件,放在目录…/include/linux中,这个文件是自动生成的。尽量不要直接修改这个文件,因为当配置有变动并且新的构建开始后,你所做的修改就丢失了。很多内核源文件直接使用预处理指令#include来包含这个文件。内核构建文件在每条内核编译命令行中都包含了这个autocongf.h文件,具体是使用了编译命令gcc的-include选项,如下所示:gcc…–includeinclude/linux/autoconf.h…<somefile.c>各个...
UNIX网络编程调试工具:tcpdump、netstat和lsof
tcpdump程序tcpdump一边从网络读入分组一边显示关于这些分组的大量信息。它还能够只显示与所指定的准则匹配的那些分组。netstat程序netstat服务于多个目的:(1)展示网络端点的状态。(2)展示某个主机上各个接口所属的多播组。(3)使用-s选项显示各个协议的统计信息。(4)使用-r选项显示路由表或使用-i选项显示接口信息。lsof程序名字lsof代表“listopenfiles”,即列出打开的文件。lsof的常见用途之一是找出哪个进程在指定的IP地址或端口号上打开了一个套接口。netstat告诉我们哪些IP地址和端口正在使用中以及各个TCP连接的状态,却没有标识相应的进程。lsof弥补这个缺陷。关于这三个程序的详细使用说明请参考manpage手册。...
Shell脚本调试工具set
可以使用set命令的x选项,显示所有命令执行及变量值的变化过程等。具体使用方法:首先使用set-x开启调试模式,最后使用命令set+x关闭调试模式。一个简单示例演示如何使用set命令进行脚本调试:[root@localhostshell]#cathello.sh#!/bin/bash#Thisisatestscript.#2013/12/20#使用set命令的选项x,启动调试模式set-xNAME=Jhonecho$NAMEecho"Hello,$NAME"#使用+x表示关闭调试模式set+x [root@localhostshell]#./hello.sh+NAME=Jhon+echoJhonJhon+echoHello,JhonHello,Jhon+set+x在上面的结果中需要注意到是,使用加号“+”开头的行都是执行的命令,行首没有加号“+”的都是脚本输出,并且脚本中的所有变量都使用值的形式替代。如果脚本中存在逻辑错误,在上面的调试过程中,可以清晰地看到脚本执行的流程和出错的地方。在使用set命令的x选项启动调试模式时,不一定非要将所有的语句都进行调试,如果需要,也可以使...
软件调试工具——GDB
1、GDB调试器概述 GDB是GNU开源组织发布的一个强大的程序调试工具,具有查看程序运行状态、设置断点、查看表达式、显示变量等众多功能,是程序员进行Linux编程必须要掌握的一种调试技术。 GDB调试工具的优势主要包含以下5个方面: (1)用户可以在程序运行过程中查看运行的状态; (2)用户可以在程序中任何需要的地方设置断点,并暂停程序的执行; (3)当程序暂停时,用户可以随时查看程序中各表达式、变量值以及内存值; (4)程序暂停时用户可以进行单步调试,依此检查程序每步运行的结果是否跟预测值一致,并且可以检查每步出现的错误; (5)用户可以改变程序中的变量或者执行顺序,来验证程序是否正确。 并不是任何程序都可以使用GDB进行调试,要使用GDB进行调试必须满足两个条件: (1)程序必须使用GCC进行编译,并且在编译过程中添加“-g”调试信息选项。 (2)要调试的可执行文件必须存在源程序代码,一般源程序代码存放的目录需要与可执行文件的目录相同。 以上两个条件缺一不可,如果不添加-g选项,GDB将不能获取调试信息;如果缺少源程序代码,GDB将不能加载源文件并显示错误信...
如何搞定IE+google双内核的360浏览器表单自动回填兼容问题
最近开发中碰到一个关于表单问题,在用户提交表单时候浏览器会提示是否保存帐号如果点击保存,在退出帐号切换其他帐号时,浏览器会自动为表单填充数据,为了解决这个自动填充问题时,主要分2个思路来解决,一个是在极速模式(google内核)下,浏览器会给包含有type为password的表单填充,解决办法是加载页面时把password改成text,获取焦点时再变成password,就可以解决了二是在兼容模式(IE内核)下,上一个方法就不行了,IE填充规则是在前一个是text,后一个是password的组合下才会自动填充解决办法是在中间插入一个空ipunt关让其隐藏 以下贴上代码@extends('layouts.myuser')@section('content')<divclass="login-bg"><divclass="main"><divclass="login"><divclass="title"><span>{{trans('login.login_no_post')}}</span>@if($erro...
Linux下打开Android调试器DDMS的方法
第一步:找到monitor可执行文件。 切换到目录路径:/home/skart/ide/android/sdk/tools/lib/monitor-x86_64,可以找到monitor可执行文件。第二步:打开terminal命令行窗口,给monitor一个可执行权限 命令行输入sudochmod+xmonitor,然后输入root的密码。 此时命令行输入 ./monitor就可以打开ddms窗口。接着提示选择sdk路径,选择sdk路径后发现提示hprof-conv文件没有可执行权限,所以走第三步。第三步:找到hprof-conv可执行文件 切换到目录路径:/home/skart/ide/android/sdk/platform-tools,可以找到hprof-conv可执行文件。第四步:给hprof-conv文件添加可执行权限 命令行输入 sudochmod+xhprof-conv,接着输入密码。第五步:再次输入./monitor打开ddms窗口,接着选择sdk路径,就可以正常打开了。如果打开过程出现类似xxx文件权限问题,模仿第三第四步解决即可。...
gdb调试的常用参数说明
gcchello.c-g-ohello就会生成待调试信息的hello可执行程序gdbhello就会进入调试状态查看源代码: l查看main源代码(L的小写,不是数字1),list的缩写l[filename:linenum]查看指定文件的指定行的源代码继续查看按ll[filename:func]查看指定文件的指定函数的源代码继续查看按l设置断点:b[linenum]第几行打断点,或者break的缩写b[10]if[i==5]就是在第十行当i等于5时停下b[func]在func函数入口处打断点del/d[num]删除断点,del即delete,num通过infobreak查看,没有[num]表示全部删除,num也可以是一个范围,比如(2,8)disable[num]禁用断点,num通过infobreak查看enable[num]启用断点,num通过infobreak查看查看值:ib查看断点,i即info,b即break,pa打印变量a的值,p即printptypea打印a的变量类型displaya追踪变量a,一般循环里面使用undisplay[num]不追踪变量,num通过inf...
webstorm如何调试vue项目的js
webstormvuewebstorm调试jsjs1.编辑调试配置,新建JavaScript调试配置,并设置要访问的url地址,如下图所示:在URL处填写示例:http://localhost:8080保存好调试配置2.先用dev正常启动项目,然后切换到刚才设置的js调试名称,点击debug按钮,这时候会打开chrome,如下图所示:4.当我们在chrome中运行页面,WebStorm就会响应断点状态,如下图所示:...