Ê×ÏÈ£¬ÔÚ±àÒë³ÌÐòʱ£¬Ôö¼Ó-gÑ¡ÏʹִÐÐÎļþ°üº¬·ûºÅÐÅÏ¢¡£Æä´Î£¬ÔÚ³ÌÐò¿ªÊ¼ÔËÐÐʱ£¬µ÷ÓÃapiº¯ÊýÉèÖÃÐźŴ¦Àíº¯Êý(Èçsignal(), sigaction()µÈ)£¬ÓÃÀ´´¦Àí¸÷ÖÖÐźš£ÀýÈç³ÌÐò·¢Éú”³ý0´íÎó”ʱ£¬¾Í»á·¢³öÒ»ÖÖÐźš£×îºó£¬Íê³ÉÒ»¸öº¯Êý¶ÑÕ»Êä³öº¯Êý¡£ÓÃbacktrack()»ñÈ¡º¯Êýµ÷ÓöÑÕ»£¬È»ºóÓÃbacktrace_symbols()ת»»Îª×Ö·û´®À´ÏÔʾ¡£
ÎÒÔÚeclipse»·¾³Ï£¬Íê³ÉÁËdemo:
1. ÓÃÊó±êÓÒ¼üµ¥»÷¹¤³Ì£¬Ñ¡ÔñÊôÐÔ£¬µ¯³öÊôÐÔ¶Ô»°¿ò¡£
2. ÔÚÊôÐÔ¶Ô»°¿òÖУ¬Ñ¡ÔñBuild->setting¡£ÔÚg++/gcc±àÒëÊôÐÔÖÐÌí¼Ó±àÒë²ÎÊý”-g”¡£
3. ´´½¨Ò»¸övoid trace_show(int sig)º¯Êý£¬ÓÃÀ´´¦ÀíÐźš£ÔÚÆäÖÐÊä³öº¯Êýµ÷ÓöÑÕ»ÐÅÏ¢¡£
4. ÔÚ³ÌÐòÆô¶¯Î»Ö㬵÷ÓÃsigaction()º¯Êý¡£
¸½Â¼£ºÐźűí
Ãû³Æ ĬÈ϶¯×÷ &nbs ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ÒÔ¡¶LDD3¡·µÄ˵·¨£ºLinuxÉ豸ģÐÍÕⲿ·ÖÄÚÈÝ¿ÉÒÔÈÏΪÊǸ߼¶½Ì²Ä£¬¶ÔÓÚ¶àÊý³ÌÐò×÷ÕßÀ´ËµÊDz»±ØÒªµÄ¡£µ«ÊÇÎÒ¸öÈËÈÏΪ£º¶ÔÓÚÒ»¸öǶÈëʽLinuxµÄµ×²ã³ÌÐòÔ±À´Ëµ£¬Õⲿ·ÖÄÚÈÝÊǺÜÖØÒªµÄ¡£ÒÔÎÒѧϰµÄARM9ΪÀý£¬Óкܶà×ÜÏߣ¨ÈçSPI¡¢IIC¡¢IISµÈµÈ£©ÔÚLinuxÏÂÒѾ±»±àд³ÉÁË×Óϵͳ£¬ÎÞÐè×Ô¼ºÐ´Çý¶¯£»¶øÕâЩ×ÜÏßÓÖ²»ÏñPCI¡¢USBµÈÔÚ¡¶LDD3¡·ÉÏÓн̳̣¬ÓÐʱ»¹Òª×Ô¼ºÑо¿ËüµÄ×Óϵͳ¹¹¼Ü£¬ÉõÖÁÒª×Ô¼ºÌí¼ÓÒ»¸öеÄ×ÜÏßÀàÐÍ¡£
¶ÔÓÚÕâ·½ÃæµÄѧϰ£¬ÎÒÍÆ¼ö¼¸¸öÍøÒ³£¬ÕâЩҲÊÇÎÒÕⲿ·ÖÎÄÕµIJο¼×ÊÁÏ£º
£¨1£©¡¶ LinuxÄÇЩʶù Ö® ÎÒÊÇSysfs¡·À´Ô´ÓÚ¸´µ©ºÍ½»´óÈý¸öÅ£È˵ÄLinux¼¼Êõ²©¿Í£ºhttp://blog.csdn.net/fudan_abc £¨¸´µ©_abc£©ËûÃÇ»¹·ÖÎöÁ˺ܶàLinuxµÄÇý¶¯£¬ÖµµÃÕ䲨£¡
£¨2£©¡¶linuxÉ豸ģÐÍÏê½â¡·Ò²ÊÇÒ»¸öÅ£È˵IJ©¿ÍÎÄÕ£¬²©¿ÍÍøÖ·£ºhttp://hi.baidu.com/csdeny/blog
£¨3£©¡¶s3c2410É豸µÄ×¢²á¡·ÊÇһƪ¹ØÓÚ2410ÖÐlinuxÄÚºËʵÏÖÉ豸ģÐ͵IJ»¿É¶àµÃµÄºÃ×ÊÁ ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ͨ¹ýÒ»¸öÉ豸ÔÚÄÚºËÖÐÉúÃüÖÜÆÚµÄ¸÷¸ö½×¶Î£¬¿ÉÒÔ¸üºÃµØÀí½âLinuxÉ豸ģÐÍ¡£ÎÒ½«Í¨¹ý·ÖÎölddbusºÍsculldµÄÔ´ÂëÀ´Á˽âLinuxÉ豸ģÐÍÖи÷»·½ÚµÄÕûºÏ¡£¡¶LDD3¡·Öеģ¨PCI×ÜÏߣ©¸÷»·½ÚµÄÕûºÏÕⲿ·ÖÄÚÈÝ×÷Ϊ²Î¿¼×ÊÁÏ£¬ÒòΪǶÈëʽLinux±È½ÏÉÙÓõ½PCI×ÜÏß¡£¿´Õⲿ·ÖÄÚÈÝÒ»¶¨ÒªÏÈÊìϤһÏ lddbus ºÍ sculld µÄÔ´Âë¡£
Ò»¡¢lddbusÄ£¿é£ºÌí¼Ó×ÜÏß¡¢µ¼³ö×ÜÏßÉ豸ºÍÉ豸Çý¶¯µÄ×¢²áº¯Êý¡£
lddbus×ÓϵͳÉùÃ÷ÁËÒ»¸öbus_type½á¹¹£¬³ÆÎªldd_bus_type ¡£Ô´ÂëÊÇÔÚ±àÒëʱ³õʼ»¯ÁËÕâ¸ö½á¹¹Ì壬ԴÂ룺
/*
* And the bus type.
*/
struct bus_type ldd_bus_type = {
.name = "ldd",
.match = ldd_match,
.uevent = ldd_uevent,
};
ÔÚ½«lddbus×ÓÏµÍ³×°ÔØµ½Äں˺ʹÓÄÚºËÐ¶ÔØµÄÔ´ÂëÈçÏ£º
static int __init ldd_bus_init(void)
{
int ret;
......
Writing Linux LCD drivers
×÷ÕߣºJimSheng
Writing Linux LCD drivers
Abstract
1 LCD Module\Driver\Controller
2 Linux Frame Buffer Driver
2.1 Why Frame Buffer?
2.2 What is Frame Buffer Devices?
2.3 How to Write Frame Buffer Device Drivers?
3 Analysis of Linux Frame Buffer Driver Source Codes
3.1 fb.h
3.2 fbmem.c
4 Skeleton of LCD controller rivers
4.1 Allocate a system memory as video memory
4.2 Implement the fb_ops functions
Reference
Abstract
This material discusses how to write a Linux frame buffer LCD device driver.
1 LCD Module\Driver\Controller
Besides the datasheet of LCD devices, there are two quite good books (.pdf format) on LCD technology. Both of them are written in Chinese. One is “Òº¾§ÏÔʾ¼¼Êõ”, and the other is “Òº¾§ÏÔʾÆ÷¼þ”. The two books give almost all needed LCD knowledge, including introductions to hardware implementation of LCD devices and low level software programming used to operate LCD devices. This hel ......
Æô¶¯µÚÒ»²½££¼ÓÔØBIOS
µ±Äã´ò¿ª¼ÆËã»úµçÔ´£¬¼ÆËã»ú»áÊ×ÏȼÓÔØBIOSÐÅÏ¢£¬BIOSÐÅÏ¢ÊÇÈç´ËµÄÖØÒª£¬ÒÔÖÁÓÚ¼ÆËã»ú±ØÐëÔÚ×ʼ¾ÍÕÒµ½Ëü¡£ÕâÊÇÒòΪBIOSÖаüº¬ÁËCPUµÄÏà¹ØÐÅÏ¢¡¢É豸Æô¶¯Ë³ÐòÐÅÏ¢¡¢Ó²ÅÌÐÅÏ¢¡¢ÄÚ´æÐÅÏ¢¡¢Ê±ÖÓÐÅÏ¢¡¢PnPÌØÐԵȵȡ£ÔÚ´ËÖ®ºó£¬¼ÆËã»úÐÄÀï¾ÍÓÐÆ×ÁË£¬ÖªµÀÓ¦¸ÃÈ¥¶ÁÈ¡ÄĸöÓ²¼þÉ豸ÁË¡£
Æô¶¯µÚ¶þ²½££¶ÁÈ¡MBR
ÖÚËùÖÜÖª£¬Ó²ÅÌÉϵÚ0´ÅµÀµÚÒ»¸öÉÈÇø±»³ÆÎªMBR£¬Ò²¾ÍÊÇMaster Boot Record£¬¼´Ö÷Òýµ¼¼Ç¼£¬ËüµÄ´óСÊÇ512×Ö½Ú£¬±ð¿´µØ·½²»´ó£¬¿ÉÀïÃæÈ´´æ·ÅÁËÔ¤Æô¶¯ÐÅÏ¢¡¢·ÖÇø±íÐÅÏ¢¡£
ϵͳÕÒµ½BIOSËùÖ¸¶¨µÄÓ²Å̵ÄMBRºó£¬¾Í»á½«Æä¸´ÖƵ½0×7c00µØÖ·ËùÔÚµÄÎïÀíÄÚ´æÖС£Æäʵ±»¸´ÖƵ½ÎïÀíÄÚ´æµÄÄÚÈݾÍÊÇBoot Loader£¬¶ø¾ßÌåµ½ÄãµÄµçÄÔ£¬ÄǾÍÊÇlilo»òÕßgrubÁË¡£
Æô¶¯µÚÈý²½££Boot Loader
Boot Loader ¾ÍÊÇÔÚ²Ù×÷ϵͳÄÚºËÔËÐÐ֮ǰÔËÐеÄÒ»¶ÎС³ÌÐò¡£Í¨¹ýÕâ¶ÎС³ÌÐò£¬ÎÒÃÇ¿ÉÒÔ³õʼ»¯Ó²¼þÉ豸¡¢½¨Á¢ÄÚ´æ¿Õ¼äµÄÓ³Éäͼ£¬´Ó¶ø½«ÏµÍ³µÄÈíÓ²¼þ»·¾³´øµ½Ò»¸öºÏÊʵÄ״̬£¬ÒÔ±ãΪ×îÖÕµ÷ÓòÙ×÷ϵͳÄÚºË×öºÃÒ»ÇÐ×¼±¸¡£
Boot LoaderÓÐÈô¸ÉÖÖ£¬ÆäÖÐGrub¡¢LiloºÍspfdiskÊdz£¼ûµÄLoader¡£
ÎÒÃÇÒÔGrubΪÀýÀ´½²½â°É£¬±Ï¾¹ÓÃliloºÍspfdiskµÄÈ˲¢²»¶à¡£
ϵͳ¶ÁÈ¡ÄÚ´æÖеÄgrub ......
³ö´íÐÅÏ¢
proc PARSE=FULL DBAccess.pc
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
System default option values taken from: /home/oracle/app/product/9.2.0/precomp/admin/pcscfg.cfg
Error at line 34, column 11 in file /usr/include/stdio.h
# include <stddef.h>
..........1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/bits/types.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 14, column 10 in file /usr/include/_G_config.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/gconv.h
#include <stddef. ......