OMAP DSP ѧϰ±Ê¼Ç£¨LINUXƽ̨£©£¨¶þ£©DMAI
DMAI(DaVinci Multimedia Application Interface)ÊÇDSPÌṩ¸øARM¶ËÓ¦ÓóÌÐòµÄµ÷Óýӿڣ¬DSPÒ²ÊÇÒÀÀµÓÚDSPLINKµÄ¡£ DMAIÖÐÒ²ÌṩÁËÐí¶àVISA (video, imaging, speech and audio)±à½âÂëµÄʵÀý¡£DMAIÌṩµÄÊÇÒ»ÖÖ¹¦ÄܵijéÏ󣬶øÔÚ¾ßÌåʵÏÖÉÏ£¬²»Í¬Ó²¼þƽ̨£¬²»Í¬ÏµÍ³ÊDz»Ò»¸öÑùµÄ¡£ÁíÍ⣬ÓÉÓÚDMAIÊÇÒÔÔ´´úÂëµÄÐÎʽÌṩµÄ£¬ËùÒÔ¿ÉÒÔÓÃÀ´²Î¿¼Íê³ÉһЩ±ðµÄÈÎÎñ£¬±ÈÈçÉ豸Çý¶¯¡£ DMAIµÄÓÅÊÆ£º 1. ÒÆÖ²ºÍÖØÓãºÀýÈçTI GStreamer plugin¾ÍÊÇ»ùÓÚDMAI£¬Ëü¿ÉÒÔ·½±ãµÄÒÆÖ²µ½ÆäËûµÄdavinciƽ̨¡£ 2. Èí¼þ½Ó¿ÚÒ»Ö£º £¨1£©¶Ôµ×²ãÓ²¼þ¼ÓËÙ²¿·Ö³éÏó·â×°£¬Ê¹¿ª·¢Õß²»ÐèÒªÃ÷°×ƽ̨µÄÌØ¶¨ÊµÏÖ £¨2£©Ö§³ÖËùÓеÄcodec£¬Ê¹¿ª·¢Õß²»±ØÃ÷°×xDM°æ±¾µÄϸ½ÚÓëÇø±ð £¨3£©¶ÔÏÔʾµÄ³éÏó£¨FBDEVºÍV4L2£© £¨4£©¹ÜÀíµ×²ãϸ½ÚÓë´íÎó´¦Àí ´úÂëʾÀý£º {
#include
#include
#include
#include
#include
#include
#include
#include
Adec_Handle hAd;
Loader_Handle hLoader;
Buffer_Handle hOutBuf, hInBuf;
Engine_Handle hEngine;
Sound_Handle hSound;
AUDDEC_Params params = Adec_Params_DEFAULT;
AUDDEC_DynamicParams dynParams = Adec_DynamicParams_DEFAULT;
Loader_Attrs lAttrs = Loader_Attrs_DEFAULT;
Buffer_Attrs bAttrs = Buffer_Attrs_DEFAULT;
Sound_Attrs sAttrs = Sound_Attrs_STEREO_DEFAULT;
CERuntime_init();
Dmai_init();
hSound = Sound_create(&sAttrs);
hEngine = Engine_open("myengine", NULL, NULL);
hAd = Adec_create(hEngine, "aacdec", ¶ms, &dynParams);
hOutBuf = Buffer_create(Adec_getOutBufSize(hAd), &bAttrs);
lAttrs.readSize = Adec_getInBufSize(hAd);
lAttrs.readBufSize = lAttrs.readSize * 2;
hLoader = Loader_create("myfile.aac", &lAttrs);
Loader_prime(hLoader, &hInBuf);
while (1) {
Adec_process(hAd, hInBuf, hOutBuf);
Sound_write(hSound, hOutBuf);
Ïà¹ØÎĵµ£º
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػ ......
ÀûÓÃ
ÏÂÔØµÄÕâ¶Î´úÂ룬³É¹¦ÊµÏÖÁËÊØ»¤½ø³Ì£¬ÔÀ´ÊØ»¤½ø³ÌÊǺܼòµ¥µÄÊÂÇé¡£
¡¡¡¡ÔÚmainº¯ÊýÖÐÖ´ÐÐ
¡¡¡¡init_daemon();//³õʼ»¯ÎªDaemon
¡¡¡¡¾Í¿ÉÒ԰ѽø³Ì±ä³ÉÊØ»¤½ø³Ì
¡¡¡¡
#include
#include
#include
#include
#include
void
init_daemon(void
)
{
int
pid;
int
i;
if
(pid=fork()) ......
Resources on the site
• Interactive map of GNU/Linux OS and FOSS
• "GNU/Linux is my home" - map of GNU/Linux system
• Interactive map of Linux kernel
• Linux inside
• Linux Technology Reference (single page view)
• Linux kernel diagram
• Li ......
½øÐжàÏ̱߳à³Ì£¬×îÍ·Ì۵ľÍÊÇÄÇЩ¹²ÏíµÄÊý¾Ý¡£ÒòΪÄãÎÞ·¨ÖªµÀÄĸöÏ̻߳áÔÚÄĸöʱºò¶ÔËü½øÐвÙ×÷£¬ÄãÒ²ÎÞ·¨µÃÖªÄǸöÏ̻߳áÏÈÔËÐУ¬ÄĸöÏ̻߳áºóÔËÐС£ÏÂÃæ½éÉÜһЩ¼¼Êõ£¬Í¨¹ýËûÃÇ£¬Äã»áºÏÀí°²ÅÅÄãµÄÏß³ÌÖ®¼ä¶Ô×ÊÔ´µÄ¾ºÕù¡£
l »¥³âÌåMutex
l &nbs ......
Ŀ¼Ë÷Òý
Ò»¡¢ÓëÓû§¹ÜÀíÏà¹ØµÄ
ÅäÖÃÎļþ£»
1¡¢/etc
/passwd ºÍ/etc/groups
2¡¢³¬¼¶È¨
ÏÞ¿ØÖÆ sudo µÄÅäÖÃÎļþ/etc/sudoers £»
3¡¢Ìí¼ÓÓÃ
»§¹æÔòÎļþ /etc/login.defs ºÍ /etc/default/useradd
¶þ¡¢Ìí¼ÓÓû§¹¤¾ßºÍ·½
·¨£»
1¡¢useradd
¹¤¾ß£»
1.1¡¢
useraadd ÃüÁîÖÐµÄ -DÔËÓÃ
1.2¡¢
useradd Ìí¼ÓÓû§£»
......