LinuxÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£ºiopermºÍiopl
Linux
ÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£º
ioperm
ºÍ
iopl
¡£
Ò»¡¢
ioperm
ºÍ
iopl
½éÉÜ¡£
1.ioperm
¹¦ÄÜÃèÊö£º
Ϊµ÷Óýø³ÌÉèÖÃ
I/O
¶Ë¿Ú·ÃÎÊȨÄÜ¡£
ioperm
µÄʹÓÃÐèÒª¾ßÓг¬¼¶Óû§µÄȨÏÞ£¬Ö»ÓеͶ˵Ä
[0-0x3ff] I/O
¶Ë¿Ú¿É±»ÉèÖã¬ÒªÏëÖ¸¶¨¸ü¶à¶Ë¿ÚµÄȨÄÜ£¬¿ÉʹÓÃ
iopl
º¯Êý¡£ÕâÒ»µ÷ÓÃÖ»¿ÉÓÃÓÚ
i386
ƽ̨¡£
Ó÷¨£º
#include <unistd.h> /* for libc5 */
#include <sys/io.h> /* for glibc */
int ioperm(unsigned long from, unsigned long num, int turn_on);
²ÎÊý£º
from
£ºÆðʼ¶Ë¿ÚµØÖ·¡£
num
£ºÐèÒªÐÞ¸ÄȨÄܵĶ˿ÚÊý¡£
turn_on
£º¶Ë¿ÚµÄÐÂȨÄÜλ¡£
1
Ϊ¿ªÆô£¬
0
Ϊ¹Ø±Õ¡£
·µ»ØËµÃ÷£º
³É¹¦Ö´ÐÐʱ£¬·µ»Ø
0
¡£Ê§°Ü·µ»Ø
-1
£¬
errno
±»ÉèΪÒÔϵÄij¸öÖµ
EINVAL
£º²ÎÊýÎÞЧ
EIO
£ºÕâÒ»µ÷Óò»±»Ö§³Ö
EPERM
£ºµ÷Óýø³ÌȨÄܲ»×ã¡£
2. iopl
¹¦ÄÜÃèÊö£º¸Ãµ÷ÓÃÓÃÓÚÐ޸ĵ±Ç°½ø³ÌµÄ²Ù×÷¶Ë¿ÚµÄȨÏÞ¡£¿ÉÒÔÓÃÓÚËùÓÐ
65536
¸ö¶Ë¿ÚµÄȨÏÞ¡£Òò´Ë£¬
ioperm
Ï൱Óڸõ÷ÓõÄ×Ó¼¯¡£ºÍ
ioperm
Ò»Ñù£¬ÕâÒ»µ÷ÓýöÊÊÓÃÓÚ
i386
ƽ̨¡£
Ó÷¨£º
#include <sys/io.h>
int iopl(int level);
²ÎÊý£º
level
£º
¶Ë¿ÚµÄȨÏÞ¼¶±ð
¡£Îª
3
ʱ¿ÉÒÔ¶Áд¶Ë¿Ú¡£Ä¬ÈÏȨÄܼ¶±ðΪ
0
£¬Óû§¿Õ¼ä²»¿É¶Áд¡£
·µ»ØËµÃ÷£º³É¹¦Ö´ÐÐʱ£¬·µ»Ø
0
¡£Ê§°Ü·µ»Ø
-1
£¬
errno
±»ÉèΪÒÔϵÄij¸öÖµ
EINVAL
£º
level
Öµ´óÓÚ
3
ENOSYS
£ºÎ´ÊµÏָõ÷ÓÃ
EPERM
£ºµ÷Óýø³ÌȨÄܲ»×ã¡£
¶þ¡¢³ÌÐòʾÀý
1. ioperm.c
²Ù×÷µÍÓÚ
0x3FF
µÄ¶Ë¿Ú
¸Ã³ÌÐòÊ×ÏÈÉèÖÃ
0x3FF
¶Ë¿ÚµÄ¶ÁдȨÏÞ£¬È»ºó¶Á³öÔÏȵÄÖµ£¬È»ºó½«ÔÖµµÄ
LSB
·×ª²¢Ð´»Ø¶Ë¿Ú£¬²¢Ôڴ˶ÁÈ¡¶Ë¿ÚÖµ¡£
/*Godbach. Dec 18, 2008
Description:This function is used to test ioperm()*/
#include <stdio.h>
#include <unistd.h>
#include <sys/io.h>
#define PORT_ADDR 0x3FF
int main(void)
{
int ret;
char port_val;
/*set r/w permission of port_addr on, only one port*/
ret = ioperm(PORT_ADDR, 1, 1);
if(ret < 0){
Ïà¹ØÎĵµ£º
1¡¢ÒýÑÔ
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾ÎÄ»ùÓ ......
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410µÄrtcÇý¶¯µÄʵ ......
1¡£ÒªÊ¹Óÿí×Ö·ûÖ§³Ö£¬Ê¹ÓÃw¿ªÍ·µÄһϵÁж«Î÷£¬Èçwstring£¬wofstreamµÈ¡£ÔÚʹÓÃwstringµÄʱºò£¬³£Á¿×Ö·û´®Ç°ÃæÒª¼ÓÉÏL£¬ÕâÑù²ÅÄÜת»»³Éwchar_tÐ͵Ä
else if(fileName.substr(fileName.rfind(L"."))==L".prj")
2¡£Ò»¸öÎļþÁ÷£¨ÎÞÂÛÊÇofstream»¹ÊÇwofstream£©£¬Ö»Ö§³Öconst char*×÷ΪÎļþÃû£¬¶ÔÓÚ¿í×Ö·ûµÄwstringµÄÎļþÃû ......
Ò»:ǰÑÔ
I2cÊÇphilipsÌá³öµÄÍâÉè×ÜÏß.I2CÖ»ÓÐÁ½ÌõÏß,Ò»Ìõ´®ÐÐÊý¾ÝÏß:SDA,Ò»ÌõÊÇʱÖÓÏßSCL.ÕýÒòΪÕâÑù,Ëü·½±ãÁ˹¤³ÌÈËÔ±
µÄ²¼Ïß.ÁíÍâ,I2CÊÇÒ»ÖÖ¶àÖ÷»ú¿ØÖÆ×ÜÏß.ËüºÍUSB×ÜÏß²»Í¬,USBÊÇ»ùÓÚmaster-slave»úÖÆ,ÈκÎÉ豸µÄͨÐűØÐëÓÉÖ÷»ú·¢Æð²Å¿ÉÒÔ.¶ø
I2C ÊÇ»ùÓÚmulti master»úÖÆ.һͬ×ÜÏßÉÏ¿ÉÔÊÐí¶à¸ömaster.¹ØÓÚI2CÐÒéµÄÖª ......
linux ÖÐÎÄÏÔʾÂÒÂë½â¾ö°ì·¨
vi /etc/sysconfig/i18n
½«ÄÚÈݸÄΪ
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ÕâÑùÖÐÎÄÔÚSSH,telnetÖն˾ͿÉÒÔÕý³£ÏÔʾ
......