linuxÄÚºËÇý¶¯DIY £¨Ì¤Ì¤ÊµÊµÑ§ÄÚºËÖ®2£©
ÉÏÎÄÖÐÌáµ½ÁËkconfigÎļþÐ޸ģ¬
ÔÚÀïÃæ¼ÓÈëÁË
config EmbedSky_HELLO
tristate "TQ2440/SKY2440 Hello Driver"
depends on ARCH_S3C2440
help
EmbedSky TQ2440/SKY2440 Hello.
Õ⼸ÐдúÂ룬±íʾҪ±àÒëEmbedSky_HELLOÕâ¸öÇý¶¯½øÈ¥£¬ÎÒÃÇ»¹Òª×÷µÄ¹¤×÷ÊÇ
ÐÞ¸Äͬĸ¼ÏµÄmakefileÎļþ
ÔÚmakefileÀï¼ÓÈëÁËÕâÒ»ÐУ¬
obj-$(CONFIG_EmbedSky_HELLO) += EmbedSky_hello.o
È»ºóÔÚÄں˱àÒëÑ¡ÏîÀïÑ¡¶¨£¬ºóÖ±½Ó±àÒëÄںˣ¬»òÊÇʹÓÃÃüÁî#make SUBDIR=drivers/char/ modules,È»ºó±àÒë³öÇý¶¯Ä£¿é¡£
ÎÒÃÇÀ´¿´¿´Çý¶¯Ä£¿é
*************************************
NAME:EmbedSky_hello.c
COPYRIGHT:www.embedsky.net
*************************************/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <asm/arch/regs-gpio.h>
#include <asm/hardware.h>
MODULE_LICENSE("GPL");
static int __init EmbedSky_hello_init(void) //insmodÇý¶¯µÄʱºò£¬ÏµÍ³»á×Ô¶¯µ÷Óõĺ¯Êý¡£
{
printk("<1>\n Hello,EmbedSky!\n");
printk("<1>\nThis is first driver program.\n\n");
return 0;
}
static void __exit EmbedSky_hello_exit(void)
{
printk("<1>\n Exit!\n");
printk("<1>\nGoodbye EmbedSky!\n\n");
}
module_init(EmbedSky_hello_init);
module_exit(EmbedSky_hello_exit);
ºÜ¼ò¶ÌµÄÒ»¶Î´úÂ룬µ«ÊÇËÆºõÖ»ÄÜÔÚÄÚºËÀï´òÓ¡³ö¼¸ÐÐ×Ö£¬Ã»ÓиúÓ²¼þ½»»¥¡£
GPIOµÄÇý¶¯Ã÷ÌìÔÙ¿´¡£
Ïà¹ØÎĵµ£º
LinuxÖ®ËùÒÔÊܵ½¹ã´ó¼ÆËã»ú°®ºÃÕßµÄϲ°®£¬Ö÷ÒªÔÒòÓÐÁ½¸ö£¬Ê×ÏÈËüÊÇ×ÔÓÉÈí¼þ£¬Óû§²»ÓÃÖ§¸¶·ÑÓþͿÉÒÔʹÓÃËü£¬²¢¿É¸ù¾Ý×Ô¼ºµÄÐèÒª¶ÔËü½øÐÐÐ޸ġ£ÁíÍ⣬Ëü¾ßÓÐUnixµÄÈ«²¿¹¦ÄÜ£¬ÈκÎʹÓÃUnixϵͳ»òÏëҪѧϰUnixϵͳµÄÈ˶¼¿ÉÒÔ´ÓÖлñÒæ¡£
¡¡¡¡ÈÃÎÒÃÇÒ»Æð´Óÿһ¸öÃüÁʼ£¬×ßÏòLinux¸ßÊÖ֮·°É¡£
¡¡¡¡1.Linux½øÈëÓëÍ˳öϵͳ
......
shellÊÇÓû§ºÍLinux²Ù×÷ϵͳ֮¼äµÄ½Ó¿Ú¡£LinuxÖÐÓжàÖÖshell£¬ÆäÖÐȱʡʹÓõÄÊÇBash¡£±¾Õ½²ÊöÁËshellµÄ¹¤×÷ÔÀí£¬shellµÄÖÖÀ࣬shellµÄÒ»°ã²Ù×÷¼°BashµÄÌØÐÔ¡£
¡¡Ê²Ã´ÊÇshell
LinuxϵͳµÄshell×÷Ϊ²Ù×÷ϵͳµÄÍâ¿Ç£¬ÎªÓû§ÌṩʹÓòÙ×÷ϵͳµÄ½Ó¿Ú¡£ËüÊÇÃüÁîÓïÑÔ¡¢ÃüÁî½âÊͳÌÐò¼°³ÌÐòÉè¼ÆÓïÑÔµÄͳ³Æ¡£
shellÊÇÓû§º ......
ÕæÕý½Ó´¥linuxµ½ÏÖÔÚ½«½ü1ÄêÁË£¬ÓÉ×î³õµÄÃÅÍ⺺£¬µ½ÏÖÔڱȽϵÃÐÄÓ¦ÊÖµÄʹÓÃlinux£¬Íê³É¼¸ºõËùÓй¤×÷£¬°üÀ¨³ÌÐò¿ª·¢¡¢±¾µØÏµÍ³Î¬»¤¡¢½»Á÷¡¢ÓéÀֵȹ¦ÄÜ£¬ËãÊÇÊÕ»ñÆÄ·áÁË¡£
×ܽáÁËÒ»ÏÂ×Ô¼ºÓÃÆðÀ´¸Ð¾õ²»´íµÄlinux¹¤¾ß£º(²»·Ö˳Ðò£¬linux·¢ÐаæÓõÄÊÇfedora 10)
1. ±à¼Æ÷: vim (Ààuinxƽ̨ÉϹ«ÈÏ×î¾µäµÄ£¬Ã»»°Ëµ)
2. ³ÌÐò¿ª ......
1 ³ÌÐòÁ÷³Ìͼ¡£
2 sampleÀý×Ó
HI_S32 TDE_DrawGraphicSample()
{
HI_U32 u32Size;
HI_S32 s32Fd;
HI_U32 u32Times;
HI_U8* pu8Screen;
HI_U32 u32PhyAddr;
HI_S32 s32Ret = -1;
  ......
15.2 µÇ¼Áíһ̨Linux·þÎñÆ÷
×÷Ϊһ¿î·þÎñÆ÷²Ù×÷ϵͳ£¬Linux³ä·Ö¿¼ÂÇÁËÔ¶³ÌµÇ¼µÄÎÊÌâ¡£ÎÞÂÛÊÇ´ÓLinux¡¢Windows»¹ÊÇÆäËûһЩ²Ù×÷ϵͳµÇ¼µ½Linux¶¼ÊǷdz£·½±ãµÄ¡£Ö§³Ö¶à¸öÓû§Í¬Ê±µÇ¼¶ÔÓÚ·þÎñÆ÷¶øÑԷdz£ÖØÒª——ÕâÕýÊÇLinuxÉó¤µÄ¡£
ÓжàÖÖ²»Í¬µÄÐÒé¿É¹©Ñ¡Ôñ£¬µ«SSHÒ²ÐíÊÇÆäÖГ×îºÃ”µÄ¡£Õâ ......