自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

be happy

嘿嘿

  • 博客(150)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android9~Android13 某些容量SD卡被格式化为内部存储时容量显示错误问题的研究与解决方案

Android9~Android13 某些容量SD卡被格式化为内部存储时容量显示错误问题的研究与解决方案分析Android11 系统对于EMMC/UFS作为内部存储、SD卡被格式化为内部存储、SD卡/U盘被格式化为便携式存储的不同处理

2024-02-05 23:38:29 1228

原创 搭建QCM6125 UEFI XBL开发环境,解决由于GCC版本导致编译失败等问题

搭建QCM6125 UEFI XBL开发环境,解决由于GCC版本导致编译失败等问题

2024-02-02 11:25:21 418

原创 QCM6125 UEFI XBL显示开机Logo不居中

解决QCM6125 UEFI XBL显示开机Logo不居中问题

2024-01-31 10:31:06 387

原创 解决QCM6125 UEFI XBL开机Logo文件太大导致XBL编译失败的问题

解决QCM6125 UEFI XBL开机Logo文件太大导致XBL编译失败的问题

2024-01-31 10:12:55 498

原创 UEFI XBL Bootloader 替换开机Logo

UEFI XBL Bootloader 替换开机Logo

2024-01-31 10:10:20 420

转载 ARM的异常处理过程分析(异常向量/工作模式)

近来翻了翻uC/OS-II官网给出来的ARM7-ARM9移植手册(AN-104),分析了在ARM中移植的问题,想想从来没有认真的学习过ARM的汇编,趁着这个机会复习复习吧。其实底层的东西才是创造力的心脏。其中的移植代码中存在的很多问题比如中断的关闭和开启,任务级别的情景切换,中断到任务的情景切换都是我们在平时移植中讲到,我也不在此强调了。在官网中提供的移植过程中存在异常处理机制,这个本不是在移

2015-03-05 15:37:53 8220

原创 [UBOOT] AM335x bootm trace(u-boot-2011.09)

do_run{ arg = getenv (argv[i]));////run的参数从环境变量中获得 run_command (arg, flag);}bootcmd=run nand_boot nand_boot=1.echo Booting from nand ...; 2.run nand_args; nand_args=1.run b

2015-02-27 15:24:12 1441

原创 [UBOOT] AM335x env trace(u-boot-2011.09)

1.初始化:初始化env_htab,默认从nand flash中读取env分区中的结构体environment_s;如果没有saveenv,使用默认的default_environmentboard_init_f//board.c for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { if ((*i

2015-02-27 15:14:34 1470

原创 [UBOOT] AM335x nand init/nand command trace(u-boot-2011.09)

nand_init();//nand.c nand_init_chip int board_nand_init(struct nand_chip *nand);//初始化nand_chip ti81xx_nand_switch_ecc(NAND_ECC_HW, 2); __ti81xx_nand_switch_ecc nand->ecc.byte

2015-02-11 15:38:23 2239

原创 ARM的位置无关码

PC相关,位置无关的指令:adr、b 位置无关码可以运行在非连接地址(基于PC)  ldr Rn,Label    arm指令        取值    位置无关 反汇编:相对于PC取Lable的值 ldr Rn,=Label    伪指令         取地址    位置相关 反汇编:将Label的地址(绝对地址)保存在一个编译期间确定的地址,               

2015-01-08 10:01:22 1040

转载 ARM下书写位置无关的代码

目录(?)[+](以后应该再也不会写汇编了,将以前总结的东西发给大家参考)位置无关代码,即该段代码无论放在内存的哪个地址,都能正确运行。究其原因,是因为代码里没有使用绝对地址,都是相对地址。位置无关的写法:(1) B指令B指令接受一个相对地址,因此在汇编里用B跳转到一个标号时,实际编译的结果是一个相对跳转。相对地址有个范围限制,即目标不能太远,一般目

2015-01-08 09:30:20 580

原创 C语言中打印PC的值

void print_pc(){ unsigned int pc_val; __asm("mov %[result],pc":[result]"=r"(pc_val)); printf("pc=0x%x\n",pc_val);}

2015-01-08 09:17:15 1457

原创 [UBOOT] fix .rel.dyn relocations(u-boot-2011.09)

/* ldr pc, _undefined_instruction//位置无关,_undefined_instruction基于PC计算 _undefined_instruction: .word undefined_instruction//位置相关,undefined_instruction编译期间确定 Disassembly of section .text: 8

2015-01-08 08:34:57 2031

转载 [UBOOT]uboot的relocation原理详细分析

转自:http://blog.csdn.net/skyflying2012/article/details/37660265最近在一直在做uboot的移植工作,uboot中有很多值得学习的东西,之前总结过uboot的启动流程,但uboot一个非常核心的功能没有仔细研究,就是uboot的relocation功能。这几天研究下uboot的relocation功能,记录在此,跟大家共

2015-01-07 16:50:36 1182

原创 [UBOOT] AM335x 启动流程(u-boot-2011.09)

u-boot-2011.09am335x启动流程:1.rom code(详见芯片手册)2.spl(Secondary Program Loader) 根据spl/u-boot-spl.lds<===arch/arm/cpu/armv7/omap-common/u-boot-spl.lds: arch/arm/cpu/armv7/start.o (.text) _start:

2015-01-06 09:36:46 6826

转载 ARM GCC Inline Assembler Cookbook

转载自:http://www.ethernut.de/en/documents/arm-inline-asm.htmlAbout this documentThe GNU C compiler for ARM RISC processors offers, to embed assembly language code into C programs. This cool fe

2015-01-04 14:55:16 756

转载 解决project中某个文件被remove后仍然存在的问题

Source Insight的使用技巧-清除以前的历史记录看一些内核代码(LWIP之类的),不用Source Insight来看,那真得跳楼了。问题:当SourceInsight整个目录的路径更改之后(比如就是把以前备份的东西那过来用),jump的时候经常会出现一些历史的文件让你jump,一不小心就jump错地方了,然后在错的地方做修改,然后费了老大劲,才发现改的根本就不是当下

2014-12-29 10:12:42 1173

转载 AM335x启动流程(BootRom->MLO->Uboot)

http://blog.chinaunix.net/uid-28458801-id-3486399.html参考文件:1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf;2,am3359.pdf;1,am335x的cpu上电后,会跳到哪个地址去执行?答:

2014-12-11 08:06:29 29296 4

原创 #define 中 #/##的使用

#用来把参数转换成字符串,##则用来连接前后两个参数

2014-11-12 10:07:24 737

转载 zsh 安裝和配置

一.安裝1.下载地址:http://www.zsh.org/pub/2.解压3.

2014-11-10 13:27:33 983

原创 [UBI]为AM335x uboot 移植UBI UBIFS功能

/* lc add for ubi */#define CONFIG_CMD_UBI#define CONFIG_CMD_UBIFS#define CONFIG_CMD_MTDPARTS#define CONFIG_MTD_DEVICE#define CONFIG_MTD_PARTITIONS#define CONFIG_RBTREE#define CONFIG_LZO

2014-11-06 10:09:12 4600

原创 Total Commander 配置

1.使用拖拽进行文件的复制和替换,而不进行提示:配置->选项->其他 需要确认的操作中,勾掉拖放2.使选中的文件更醒目:颜色->勾选 使用反色光标3.文件定位:快速搜索-> 选择字母(显示快速搜索框)。在按下ctrl+S图标时,只显示选中的文件4.重命名 F6

2014-10-28 11:46:21 639

原创 [UBI]mkfs.ubifs ubinize 工具编译

1.     cd zlib-1.2.8/     ./configure --prefix=../install     make     make install  2.     cd lzo-2.08/            ./configure ac_default_prefix=/contec/liuchang/am335x/ubi_tools/in

2014-10-21 08:12:28 3660

原创 在Linux 应用层 基于i2c-dev.h 实现i2c读写

/* i2c-dev.h - i2c-bus driver, char device interface Copyright (C) 1995-97 Simon G. Vogl Copyright (C) 1998-99 Frodo Looijaard This program is free software; you can redistribute it

2014-10-20 15:00:28 8794

转载 source insight 中使用vim

Source Insight看代码时比较方便,而且它的代码自动完成功能比vim+ctags+cscope好用的多,可是我认为写代码时,Source Insight的功能却比不上vim。我的设定是:在Source Insight中按F12调用gvim,打开对应文件,跳转到对应的行。以下是实现步骤:1.Source Insight中,Options->Custom Commands..

2014-10-20 14:38:45 4107

原创 为lpc3250 uboot-1.3.3 添加i2c命令(imd,imw,iprobe等)

#include #ifdef CONFIG_HARD_I2C#ifdef CONFIG_LPC3250_I2C#include #include #include #include /* I2C register definitions */#define I2C1_BASE_ADDR 0x400A0000#define I2C2_BASE_ADD

2014-10-20 13:13:56 1572 1

原创 kobject_uevent,uevent_helper,/sys/kernel/uevent_helper,/proc/sys/kernel/hotplug

class_device_create class_device_register class_device_add kobject_uevent(&class_dev->kobj, KOBJ_ADD); kobject_uevent_env action_string = action_to_string(action); uevent_ops->fil

2014-04-29 17:54:26 2082

转载 Ubuntu系统SSD硬盘优化全记录

http://www.linuxidc.com/Linux/2012-09/70519.htm硬件改造固态硬盘(64G,2.5寸,SATA3.0)装入原先的硬盘位置,购买一个光驱位硬盘托架,将机械硬盘(500G)装入原先的光驱位置。这几种材料都已经很常见,笔记本外观不会有什么瑕疵。系统安装1.下载Ubuntu光盘镜像 http://www

2014-04-24 21:56:27 1474

原创 总线设备驱动模型:bus->match,driver->probe

注:支持bus device driver模型 都遵循这套流程platform_driver 注册时,如何遍历platform_bus_type总线上platform_device链表,并且调用platform_bus_type的match函数进行匹配,匹配成功后如何调用platform_driver 的probe函数-----------------dev

2014-04-19 18:35:26 1450

转载 关于platform_driver 是如何匹配 platform_device的和如何调用到platform_driver中的probe函数的研究

http://blog.csdn.net/adc0809608/article/details/7289285  在linux中platform平台驱动又三大部分组成,第一是bus、第二是驱动、第三是设备。      第一总线也就是platform_bus,总线也是一种特殊的device,到底层下面还是要调用device_register来注册该总线设备,然后是用来注册

2014-04-19 17:52:38 613

转载 input子系统详解

http://blog.csdn.net/ylyuanlu/article/details/6704744Input子系统详解一.Input子系统架构Linux系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动,下面是Input子系统架构:Input子系统架构二.Input系统的组成输入子系统由驱

2014-03-25 19:05:09 579

转载 linux内核input子系统解析

http://www.embedu.org/Column/Column289.htm作者:刘老师,华清远见嵌入式学院讲师。Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成inp

2014-03-25 18:42:14 418

转载 Linux设备驱动之semaphore机制

Linux设备驱动之semaphore机制在Linux系统中,信号号是一种重要的加锁机制,特别在互斥型资源中,semaphore更能很好的工作。1: semaphore结构体定义在Linux2.6.35内核中,semaphore的实现机制与以前的版本一点不同,在其中去除了DECLARE_MUTEX_LOCKED这个初始化互斥宏定义,但是,又添加了一个特别重要的函数,down_killa

2014-03-14 12:01:23 778

转载 Linux 原子操作

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。   原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。  

2014-03-14 10:36:35 569

原创 linux驱动的异步通知(kill_fasync,fasync)---- 驱动程序向应用程序发送信号

应用程序#include #include #include #include #include #include #include #include #include /* fifthdrvtest */int fd;//信号处理函数void my_signal_fun(int signum){ unsigned char key_val; read

2014-03-13 19:32:40 23336

转载 fcntl使用

and_ttfcntl使用功能描述:根据文件描述词来操作文件的特性。#include #include  int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);

2014-03-13 19:07:53 784

转载 Linux系统exec命令

shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。 因此,如果你在一个shell里面,执行exec ls那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退出了。为了避免这个影响我们的使用,一般将exe

2014-01-15 19:49:14 9064

转载 __attribute__ 之weak,alias属性

Weak Alias 跟 Weak Reference 完全没有任何关系,不过是我在看到 Weak Reference 的时候想到的而已。Weak Alias 是 gcc 扩展里的东西,实际上是函数的属性。这个东西在库的实现里面可能会经常用到,比如 glibc 里面就用了不少。抄录一段 gcc 手册里面的话解释下函数属性是干啥的,In GNU C, you declare

2014-01-09 16:46:27 917

转载 解密module_init,module_exit

include/linux/init.h在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况下,module_init定义如下:#define module_init(x) __i

2014-01-09 16:32:52 1860

转载 linux中__attribute__使用详解

GNC CC 是一个功能非常强大的跨平台 C 编译器,它对 C 语言提供了很多扩展,这些扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持。本文把支持 GNU 扩展的 C 语言称为 GNU C。Linux 内核代码使用了大量的 GNU C 扩展,以至于能够编译 Linux 内核的唯一编译器是 GNU CC,以前甚至出现过编译 Linux 内核要使用特殊的

2014-01-08 22:33:25 1887

source insight 的 VIM风格皮肤的配置文件

source insight 的 VIM风格皮肤的配置文件

2014-10-16

KVM-KNI-资料

KVM-KNI-资料 包含cldc1.1 源代码

2013-05-09

HyperTerminaEnglishANSI 超级终端中文版_可显示图标.7z

在这里发现的:http://bbs.chinaunix.net/thread-3584456-1-1.html 【背景】 作为软件开发者,常常需要用到windows XP中的超级终端,其虽然有些缺点,比如无法搜索内容等,但是优点很明显,免费,简单易用,而且还支持kermit/Xmodem/Ymodem/Zmodem等协议以发送文件,还是很不错的。 但是很多人,系统换成Win7后,却发现没了这个超级终端。很是郁闷。 所以,希望win7中也可以有超级终端供使用。 【解决过程】 网上找了一番,貌似把问题说清楚的不多。 不过倒是搞清楚了一个事情,就是原先windows XP中的Hyper Terminal,本身就是买的别的公司的程序,该公司叫做Hilgraeve。 所以,去搜索Win7中的超级终端的时候,会找到一堆内容,关于Hilgraeve公司的超级终端的,说是win7兼容的,其实本质就是人家自己的程序,之前被windows XP用了而已,那现在也当然可以让其支持win7了。 不过呢,还有个更简单的方法,那就是把windows XP中的超级终端的相关东西,拷贝移植过来,即可: 【将超级终端Hyper Terminal从Windows XP移植到Win7中的过程】

2011-11-01

csf播放器

很多同学都在找的CSF文件播放器,很多公开课可以用来播放

2011-10-10

空空如也

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

TA关注的人

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