[linux]
xgbing
专注于嵌入式方向的软硬件设计与开发(ASM\C\C++,RTOS,Linux,android,以太网\嵌入式网络协议栈,蓝牙,WIFI,文件系统/嵌入式存储,显示\音频,单片机\DSP\ARM\Cortex,电路设计\PCB布板\硬件驱动\数字逻辑CPLD,FPGA\niosII),目前从事VirtualBox\qemu\KVM虚拟化研究工作。
展开
-
在u-boot中增加nor flash的支持
开发板只带有一片SST的FLASH,而u-boot中at91sam9260ek中没有运行程序在norflash中的实例。花时间修改配置,将其运行在norflash中。 (1) 修改板子头文件mprts2.h:/* NAND flash */ /* NOR flash - no real flash on this board *///#defin原创 2011-06-26 12:15:00 · 2752 阅读 · 0 评论 -
u-boot下网络驱动程序的修改
Eth.c工作之前的初始化static struct eth_device *eth_devices, *eth_current;Eth.c中有个eth_devices需要外部调用函数eth_register做初始化工作,其它函数(除eth_initialize外)都必须在这个初始化之后才能使用。 结构eth_devices是个循环链表,可包含多个eth_device。eth_re原创 2011-06-28 14:38:00 · 11005 阅读 · 1 评论 -
NetReceive函数--精简的网络数据包解析代码,支持802,VLAN
voidNetReceive(volatile uchar * inpkt, int len) { Ethernet_t *et; IP_t *ip; ARP_t *arp; IPaddr_t tmp; int x; uchar *pkt;#if defined(CONFIG_CMD_CDP) int iscdp;#endif ushort cti原创 2011-06-27 16:29:00 · 2599 阅读 · 0 评论 -
U-boot-2010.06源码
gd_t结构typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; unsigned long have_console; /* serial_init() was c原创 2011-06-15 23:00:00 · 1388 阅读 · 0 评论 -
Readme-linux yaffs2
Welcome to YAFFS, the first file system developed specifically for NAND flash. 欢迎来到YAFFS,这是第一个专门为NAND flash特定开发的文件系统。 It is now YAFFS2 - original YAFFS (AYFFS1) only supports 512-byte page NAND an翻译 2008-07-16 16:13:00 · 3341 阅读 · 2 评论 -
嵌入式linux和嵌入式android系统有什么区别和联系?
转自:http://bbs.eeworld.com.cn/thread-430437-1-1.html 这个问题很多人问,尤其是初入嵌入式的菜鸟。其实大家都认为android是java,已经不是linux,殊不知android就是靠着linux 才发展起来的,现在来说说有啥区别吧。嵌入式android源码架构:uboot+linux kernel+android(包含文件系统,虚拟机,转载 2014-02-28 09:45:33 · 14222 阅读 · 0 评论 -
设置LINUX启动时的液晶屏参数
FrameBuffer,可以译作“帧缓冲”,有时简称为fbdrv,基于fbdrv的console也被称之为fbcon。这是一种独立于硬件的抽象图形设备。FrameBuffer的优点在于其高度的可移植性、易使用性、稳定性。使用Linux内核的 FrameBuffer驱动(vesafb),可以轻松支持到1024X768X32bpp以上的分辩率。而且目前可得到的绝大多数linux版本所发行的内核中,已经转载 2013-05-17 11:50:28 · 1460 阅读 · 0 评论 -
linux mtd - mtdpart.c
(1)add_mtd_partitionsint add_mtd_partitions(struct mtd_info *master, 在flash驱动中已经初始化 const struct mtd_partition *parts, int nbparts){ struct mtd_par原创 2013-03-18 21:32:08 · 2290 阅读 · 0 评论 -
vi/vim键盘速记表
大家经常用vi/vim吧,它虽然好用,但快捷键一大把,要掌握不是一件易事,我从网上找到这个键盘图,发上来大家分享:原创 2012-08-22 16:14:10 · 3517 阅读 · 0 评论 -
ubuntu 内核编译
1 先获取内核源码包,这个不能直接从kernel.org上下,因为ubuntu的内核ubuntu公司对其打过补丁,即定制过,所以可用如下方法下载:sudo apt-cache search linux-source2 之后,安装源码:sudo apt-get install linux-source安装成功后,会在/usr/src目录下:ll /usr/src3 编原创 2015-06-11 19:10:56 · 921 阅读 · 0 评论 -
linux内核文档汇集
链接:https://01.org/linuxgraphics/gfx-docs/drm/The Linux Kernel documentationThis is the top level of the kernel's documentation tree. Kernel documentation, like the kernel itself, is very much a wo...原创 2019-09-09 09:19:08 · 2854 阅读 · 1 评论 -
systemctl 命令详解及使用教程
转自:http://linux265.com/news/3385.html在本教程中,我们将向您介绍在运行systemd的linux系统上如何使用systemctl命令工具有效的控制系统和服务.Systemctl 介绍Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V...转载 2019-07-28 12:43:27 · 51714 阅读 · 1 评论 -
framebuffer and VGA
VGA emulation in qemu - where do we want to go?https://www.kraxel.org/blog/2018/10/qemu-vga-emulation-and-bochs-display/ Framebuffer HOWTO:https://www.tldp.org/HOWTO/html_single/Framebuffer-HO...原创 2018-12-18 10:31:41 · 632 阅读 · 0 评论 -
ubuntu设置开机默认进入字符界面方法
ubuntu 12.04 桌面版关闭图形界面注意]改GRUB 的配置文件(不建议直接改 grub.conf) file:/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"替换为 GRUB_CMDLINE_LINUX_DEFAULT="text" 保存后 sudo update-grub 重启即可...转载 2018-05-30 14:46:25 · 7993 阅读 · 0 评论 -
计算机底层是如何访问显卡的?
1. 显卡驱动是怎么控制显卡的, 就是说, 使用那些指令控制显卡, 通过端口么?2. DirectX 或 OpenGL 或 CUDA 或 OpenCL 怎么找到显卡驱动, 显卡驱动是不是要为他们提供接口的实现, 如果是, 那么DirectX和OpenGL和CUDA和OpenCL需要显卡驱动提供的...转载 2018-04-10 16:57:37 · 1172 阅读 · 0 评论 -
libdrm-----linux显卡应用层代码库
DRMThe Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user space programs can use to send co...原创 2018-04-10 15:24:15 · 11960 阅读 · 0 评论 -
内核链表list.h---把函数功能记下来,不用忘记了每次都要分析代码
文件中描述的是一个双向链表的定义和操作。(1)结构定义和初始化struct list_head { struct list_head *next, *prev;};//每个链表有一个head,它是一个开始标志,链表的第一个元素是head->next#define LIST_HEAD_INIT(name) { &(name), &(name) }#define原创 2014-02-19 00:06:44 · 2257 阅读 · 0 评论 -
ubuntu软件更新源问题解决
换了网上几个软件源后均不能用,提示HASH错误,偶尔找到一篇文章讲到可以使用ftp,我改了一下竟然可以用了:# deb cdrom:[Xubuntu 12.04.4 LTS _Precise Pangolin_ - Release amd64 (20140205)]/ dists/precise/main/binary-i386/# deb cdrom:[Xubuntu 12.04.4 LTS _原创 2016-01-24 11:05:26 · 3094 阅读 · 0 评论 -
安装Rapidsvn 0.21.1
使用rapidsvn 0.21.0这个版本自带的svn1.6,在编译android内核时出错。 rapidsvn使用subversion-1.7.7,推荐使用! 1.安装 apr-1.4.6.tar.gz tar -zxvf apr-1.4.6.tar.gz cd apr-1.4.6./configure --prefix=/usr/local/apr-1.4.6makemake instal原创 2015-08-19 18:52:49 · 1762 阅读 · 0 评论 -
yum更新源
修改/etc/yum.repos.d/CentOS-Base.repo[base]name=CentOS-$releasever - Basebaseurl=http://mirrors.163.com/centos/6.4/os/$basearch/gpgcheck=1gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-原创 2015-07-02 15:46:38 · 3056 阅读 · 0 评论 -
ubuntu更新过期的解决办法
大家使用Ubuntu的原因大概是因为它安装软件时只需要使用apt-get命令吧。 在安装完Ubuntu系统后,会有一个默认的软件更新源,它保存在/etc/apt/sources.list文件中。由于系统安装的默认源地址在英国,作为Ubuntu的主源,国内连接速度非常慢,所以我们常常将它换成就近的快速源,网上有最新的软件源。 但时间长了,随着ubuntu的原创 2012-08-22 16:48:28 · 5269 阅读 · 0 评论 -
linux驱动-在PC机下编译驱动程序的Makefile
这里说的是在PC机linux2.6下编译驱动的方法,这是模板:ifneq ($(KERNELRELEASE),)tt-objs := tttest.oobj-m := tt.oelseKERNELDIR ?= /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)modules: $(MAKE) -C $(KERNE原创 2012-08-18 14:36:33 · 1784 阅读 · 0 评论 -
Linux 2.6下的新的驱动管理机制:Platform_device
(1) 首先需要定义一个驱动设备的资源信息:struct platform_device { const char * name; u32 id; struct device dev; u32 num_resources; struct resource * r原创 2011-07-12 11:02:53 · 1438 阅读 · 0 评论 -
Linux初始RAM磁盘(initrd)概述
Linux初始RAM磁盘(initrd)概述 学习 initrd 的剖析、创建以及在 Linux 引导过程中的用法 Linux初始 RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序转载 2011-07-10 14:33:24 · 821 阅读 · 0 评论 -
安装arm-linux-insight
gdb的命令行实在是难用,insight是一个图形化的gdb调试工具,它可以用来源代码跟踪调试bootloader,例如u-boot。 (1)安装libx11-dev libncurses5-dev libc6-dev;(2)下载insight-6.8-1原创 2011-07-03 18:13:47 · 1829 阅读 · 0 评论 -
http://www.kernel.org/pub 下载内核源代码
网速很快, http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.27/ http://www.kernel.org/pub下还有很多资源。原创 2011-07-01 08:44:00 · 7526 阅读 · 0 评论 -
Linux/Documentation/kbuild/kconfig-language.txt
1 Introduction 2 ------------ 3 4 The configuration database is a collection of configuration options 5 organized in a tree structure: 6 7 +- Code maturity level options转载 2011-07-01 09:26:00 · 2157 阅读 · 0 评论 -
ucLinux笔记
uClinux小型化的做法 -------------------------------------------------------------------- 标准Linux可能采用的小型化方法1. 重新编译内核Linux内核采用模块化的设计,即很多功能块可以独立的加上或卸下,开发人员在设计内核时把这些内核模块作为可选的选项,可以原创 2011-06-30 10:00:00 · 1629 阅读 · 1 评论 -
ubuntu光盘抢救崩溃系统
当Ubuntu系统不能进入时,可以进入live-cd,在终端下输入:sudo su //切换到管理员身份df //查看崩溃系统所在磁盘,假如是“/dev/sda1”mount /dev/sda1 /mnt //将sda1挂载到/mnt目录下mount --bind /proc /mnt/procmount --bind /sys /mnt/sysmo原创 2011-06-29 11:36:00 · 2530 阅读 · 0 评论 -
嵌入式开发中NFS调试环境搭建-V0.2
开发环境:S3C4510B+uCLinux-2.4.x+ubuntu7.10建立的目的:可以直接在开发板上挂载开发主机上的文件系统,减少程序的烧写次数,提高程序开发速度。NFS(Network File System, 网络文件系统)可以通过NFS把远程主机的目录挂载到本机,使得访问远程主机的目录就像访问本地目录一样方便快捷。NFS一般是实现linux系统之间实现共享.当然和u转载 2011-06-28 18:07:00 · 2656 阅读 · 0 评论 -
Ubuntu镜像
源文件/etc/apt/sources.list。Ubuntu自带的镜像文件: # deb cdrom:[Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090420.1)]/ jaunty main restricted# See http://help.ubuntu.com/community/UpgradeNotes for原创 2011-06-28 17:36:00 · 2232 阅读 · 0 评论 -
u-boot配置文件
u-boot-2010.06主目录下的“README”提供了代码和配置的详细说明(1) makefile注意在make的过程中生成了"include/autoconfig.mk" (2)mkconfig文件makefile中的开发板配置代码:---------------------------------at91sam9260ek_nandflash_config /at原创 2011-06-17 17:40:00 · 1668 阅读 · 0 评论 -
linux下的串口终端图形工具
<br />软件putty.<br />UBuntu下安装:sudo atp-get install putty<br />可以在linux下使用串口和USB转串口。原创 2011-02-23 09:13:00 · 1803 阅读 · 0 评论 -
The NCurses Library
编译buildroot的时候出现错误: *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. ***原因是缺少ncurses库,需要安装libncurses5-devThe N原创 2010-09-05 09:47:00 · 1553 阅读 · 0 评论 -
linux make menuconfig 执行流程小结
linux/2.6.20.6/make menuconfig 当在顶层目录执行”make menuconfig”会执行顶层Makefile 第415行的规则 config %config: scripts_basic outputmakefile FORCE转载 2011-07-12 15:20:08 · 780 阅读 · 0 评论 -
linux中断处理浅析
最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处转载 2011-07-14 22:33:01 · 978 阅读 · 0 评论 -
LINUX驱动-注册驱动程序
注册驱动程序的几种方法:(1)调用register_chrdev if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops)) { //…注册失败 } else { //…注册成功 } (2)先调用register_chrdev_region,再调用cdev_add原创 2012-06-28 10:02:44 · 2005 阅读 · 0 评论 -
gcc中的除法
在编译程序时候遇到一个错误:undefined reference to `__aeabi_uidiv'原因是ARM是精简指令集,没有除法指令。libgcc库包含除法指令的代码,于是加上链接库gcc:-L /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1 -lgcc编译,现次出现错误:原创 2012-07-30 22:52:34 · 5645 阅读 · 2 评论 -
Sed命令简明教程
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下转载 2012-07-29 15:29:53 · 1200 阅读 · 0 评论 -
getopt32
uint32_t getopt32(char **argv, const char *applet_opts,…)命令行选项必须声明为类似const char *applet_opts的字符串形式, 例如:flags = getopt32(argv, "rnug");如果其中一个选项被找到了, 就有一个标志值(unsigned long类型)添加到返回值中。标志转载 2012-06-27 21:36:30 · 3879 阅读 · 0 评论