发布网友 发布时间:2022-04-22 08:21
共6个回答
懂视网 时间:2022-05-07 05:39
虽然摩托罗拉现在也出售给了斑马公司,但针对行业设备的支持还说的过去,但是网上针对SE4500在TI Omap平台的调试文章少之又少,不信你随便搜搜互联网。 公司使用的是TI(德州仪器)公司提供的方案Omap37xx系列Mpu,系统是WM6.5(Windows Mobile 6.5.3)的,调试
虽然摩托罗拉现在也出售给了斑马公司,但针对行业设备的支持还说的过去,但是网上针对SE4500在TI Omap平台的调试文章少之又少,不信你随便搜搜互联网。
公司使用的是TI(德州仪器)公司提供的方案Omap37xx系列Mpu,系统是WM6.5(Windows Mobile 6.5.3)的,调试到SE4500的时候,开始是I2C问题,I2C死活不通,后来解决了I2C读写问题,但是在上层应用层调用对应的API获取图像数据,就直接崩溃了,但是地址打印出来,还是可以看到对应的地址的,但是使用IsBadPtr测试该指针以后,不可以读,只要一读,直接崩溃(data abort)。
这个问题是这样的,需要修改摩托罗拉提供的驱动程序的部分代码,修改基本上如下:
驱动添加根据MotorolaMotorola Software Decode SDK for ARMDriversTIcam_SE4500WM65 目录下的readme.txt操作,
在对应的drvr_intf.cpp源文件的CAM_IOControl()函数中,具体修改如下:
case SE45_IOCTL_ALLOC_BUFFER: if ((pBufOut == NULL) || (dwLenOut < (sizeof(SE45_ALLOC_BUF_REQ) + (pDev->dwBufferCount - 1) * sizeof(DWORD))) || (pdwActualOut == NULL)) { dwReturn = ERROR_INVALID_PARAMETER; goto BadParameter; } else { UINT i, nOutputByteCount; PSE45_ALLOC_BUF_REQ pAllocReq; HANDLE hCaller; PBYTE pVirtAddr; //wince5.0.2内核,所以必须增加该判断 #if (_WINCEOSVER<600) BOOL bOldMode = SetKMode(TRUE); #endif nOutputByteCount = sizeof(SE45_ALLOC_BUF_REQ) + (pDev->dwBufferCount - 1) * sizeof(DWORD); #if (CE_VERSION == 5) //hCaller = GetOwnerProcess(); //为什么要注释掉上面一行代码,改成下面这行?因为调用的同时,他们应该是同一进程地址空间 hCaller = GetCurrentProcess(); pAllocReq = (PSE45_ALLOC_BUF_REQ )MapCallerPtr( pBufOut, nOutputByteCount ); #endif #if ((CE_VERSION == 6) || (CE_VERSION == 7)) // hCaller = OpenProcess(0, FALSE, GetCallerVMProcessId()); hCaller = OpenProcess(0, FALSE, GetDirectCallerProcessId()); // CE 6 automatically marshals the IOCTL parameters mapCallerPtr() is obsolete pAllocReq = (PSE45_ALLOC_BUF_REQ)pBufOut; #endif if (NULL == pAllocReq) { dwReturn = ERROR_INVALID_PARAMETER; goto BadParameter; } // Reset the user buffers in the low level driver camera_reset_buffers(pDev); pAllocReq->nNumBuffers = pDev->dwBufferCount; pAllocReq->nBufferSize = pDev->dwBufferSize; // Save the caller handler pDev->dstProcess = hCaller; /* return a list of buffer start addresses mapped to caller's process space */ for (i = 0; i < pDev->dwBufferCount; i++) { if (camera_get_buffer_addr(pDev, i, &pVirtAddr)) { #if (CE_VERSION == 5) pAllocReq->ppBuffers[i] = (DWORD )MapPtrToProcess(pVirtAddr, hCaller); #endif #if ((CE_VERSION == 6) || (CE_VERSION == 7)) pAllocReq->ppBuffers[i] = (DWORD)VirtualAllocCopyEx(GetCurrentProcess(), hCaller, pVirtAddr, pDev->dwBufferSize, PAGE_READWRITE); #endif // Save it in the driver context for freeing this memory later pDev->baseAddr[i] = pAllocReq->ppBuffers[i]; } else { pVirtAddr = NULL; pAllocReq->ppBuffers[i] = (DWORD)NULL; } DEBUGMSG(ZONE_IOCTL, (TEXT("SE4500 : App:0x%x mapped from Kernel:0x%x "),pAllocReq->ppBuffers[i], pVirtAddr)); } *pdwActualOut = sizeof(DWORD) * (pDev->dwBufferCount - 1) + sizeof(SE45_ALLOC_BUF_REQ); #if (_WINCEOSVER<600) SetKMode(bOldMode); #endif } break; case SE45_IOCTL_GET_CURRENT_BUFFER: if ((pBufOut == NULL) || (dwLenOut < sizeof(UINT)) || (pdwActualOut == NULL)) { dwReturn = ERROR_INVALID_PARAMETER; goto BadParameter; } else { //wince5.0.2内核,所以必须增加该判断 #if (_WINCEOSVER<600) BOOL bOldMode = SetKMode(TRUE); #endif __try { if (camera_get_buffer(pDev, (PUINT )pBufOut)) { *pdwActualOut = sizeof(UINT); } else { dwReturn = ERROR_NOT_READY; goto BadParameter; } } __except(exception_filter(GetExceptionCode(), GetExceptionInformation())) { DEBUGMSG(ZONE_ERROR, (TEXT("Exception in IOCTL_GET_CURRENT_BUFFER "))); } #if (_WINCEOSVER<600) SetKMode(bOldMode); #endif }
后来就考虑直接在系统驱动里面,将获取到的图像直接保存到文件,这里似乎有一个问题,保存文件操作是在单独的一个线程里面做的,是异步操作,有可能出现保存数据只有部分的情况。经过多次测试,传输过来的图像752 x 480分辨率始终是条纹状,要么颜色不对,基本上都是如下图像:
在驱动图像帧回调函数中保存了这些图片,基本上过来30多张只有一两张还能看得到图像,其他基本上都是斜的条纹,颜色明显不对,正常的颜色是应该是黑白单色。后来查硬件问题,发现是PCLK的电平转换芯片的最大支持频率不够,和其他公司一样,你使用TI的方案,那周边的什么PMIC,电平转换芯片等等都用他的,做高通、MTK的也都一个样。
本来用的是TXS0104/08针对SE4500的PCLK过来的3.3V电平,转换成1.8V的提供给Omap37xx,结果发现TXS0104/08在Vcca为1.8V时最大支持的data rate只有24Mbps(参考该电平转换芯片手册),远远不够。
前前后后折腾了几个月,没有解决这个问题,后来换成了TXB0104/08系列电平转换芯片,用了摩托提供的C#写成的SDL_GUI测试程序,SE4500出光了以后直接就解码了。
至此,问题已经得到解决,但是总结一点。也许是TI针对大多数的应用场景,根本不需要多高的数据速率,只是简单的电平转换而已,但是用在视频传输上,电平转换的芯片选择就尤为重要了,速率不对,传过来的数据就有可能是错的。芯片选型的时候,一定要充分考虑它的应用场景。
热心网友 时间:2022-05-07 02:47
Ti Amo是意大利语的我爱你。
我爱你,一般用于一人向爱慕的另一个人的感情表达,也可以用于亲人间,是一个人对另一个人的感情表达。也可以用于对宠物、物品等寄托了浓重感情的事物的表达,可以男生对女生说,可以女生对男生说,也可以女生对女生说。
“我爱你”的其他表达方式
1、爱沙尼亚:Mina armastan sind。
2、芬兰:Min rakastan sinua。
3、比利时佛兰芒语:IK zie u graag。
4、意大利语:ti amo,ti vogliobene。
热心网友 时间:2022-05-07 04:05
Tiamo n. 堤亚摩;意大利
短语
1.Tiamo Chocolate 爱上巧克力
2.Tiamo Amote 正在翻译
3.Tiamo Hotel 蒂阿莫酒店
4.tiamo e 意大利语
扩展资料:
1.TiAmo , Purpose: elite team, create legends, because of you - all in all a legend of all.
宗旨:精英团队,打造传奇,因为有你-让所有所有的一切成为传说。
短语
1.Tiamo Cho 爱上巧克力
2.QUANTO TIAMO 你不知道我有多么爱你
3.Espresso TIAMO Make 瑞特款式摩卡壶咖啡壶
4.TIAMO HAND-MADE 区域
5.tiamo u-know 意大利语
参考资料:有道词典-tiamo
热心网友 时间:2022-05-07 05:40
意大利的我爱你
顺便推荐一点别的国家的
英国:I love you
爱尔兰:Taim i’ ngra leat
丹麦:Jeg Elsker Dig
荷兰:Ik hou van jou
法国:je t’aime, je t’adore
德国:Ich liebe dich
希腊:S’agapo
芬兰:Mina rakastan sinua
捷克:Miluji te
保加利亚:Obicham te
匈牙利:Szeretlek
意大利:Tiamo
挪威:jeg Elsker Deg
葡萄牙:Eu te amo
西班牙:Te amo
瑞典:jag alskar dig
冰岛:Eg elska tig 。
罗马尼亚:Te ubesk
斯洛伐克:Lu’ bim ta
波兰:Kocham Ciebie
亚尔巴尼亚:Te a。
塔希提岛:Ua Here Vau la Oe
土耳其:Seni Seviyorum
黎巴嫩:Bahibak
亚拉伯:Ana behibak.Ana behibek
摩洛哥:Ana moajaba bik
埃塞俄比亚:Afgreki’
俄罗斯:Ya tebya liubliu
马来西亚:Njan Ninne Premikunnu
印尼:Saya cinta padamu
日本:Aishiteru
韩国:Sarang Heyo
柬埔寨:Soro lahn
越南:Anh ye^u em.Em ye^u anh
泰国:Chan rak khun(Phom rak khun
菲律宾:Mahal kite 广州话:Ngo oiy ney
夏威夷:Aloha wau ia oi 。
德语:Ich liebe dich.
法语:Je t'aime / Je t'adore
希腊语:S'agapo
犹太语:Ani ohev otach(male or famale),Ani ohevet otcha (male or famale)
匈牙利:Szeretlek
爱尔兰:taim i'ngra leat
爱沙尼亚:Mina armastan sind
芬兰:Min rakastan sinua
比利时佛兰芒语:IK zie u graag
意大利语:ti amo,ti vogliobene
拉丁语:Te amo,Vos amo
拉托维亚:Es tevi Milu
里斯本:lingo gramo-te bue',chavalinha
立陶宛:Tave Myliu
马其顿:Te sakam
马耳他:Inhobbok
波兰语:Kocham Cie,Ja cie kocham
葡萄牙:Eu amo-te
罗马尼亚:Te iu besc,Te Ador
荷兰:IK hou van ju
英语:I love you
捷克:Miluji te
丹麦:Jeg elsker dig
阿尔萨斯:Ich hoan dich gear
亚美尼亚:Yes Kezi Seeroom yem
巴伐利亚:I mog di narrisch gern
保加利亚:ahs te obicham
西班牙加泰隆语:T'estim
克罗地亚:Volim te
阿塞疆语:Men seni serivem
孟加拉:Ami tomay bhalobashi
缅甸:chit pa de
柬埔寨:Bong salang oun
菲律宾:Mahal Kita,Iniibig Kita
印度古吉拉特语:Hoon tane prem karun chuun
北印度语:main tumse pyar karta hoon
印度尼西亚:Saja kasih saudari
日本:Kimi o ai****eru Sukiyo
朝鲜:Tangshin-i cho-a-yo
爪哇语:aku tresno marang sliromu
老挝:Khoi huk chau
马来语:saya Cinta Mu
马来西亚:Saya Cintamu
蒙古语:bi chamd hairtai
尼泊尔:Ma tumilai maya garchu,Ma timilai man parauchu
波斯语:Tora dost daram
他加禄语:Mahal kita
南非语:Ek het jou lief Ek is lief vir jou
加纳:Me do wo
埃塞俄比亚阿姆哈雷地区:Ene ewedechalu(for ladies)
Ene ewedehalwe(for men)
阿拉伯语:Ana Ahebak(to a male)
Arabic Ana ahebek(to a female)
瑞士德语:Ich li b Dich
克里奥尔语:Mon kontan ou
豪萨语:Ina sonki
肯尼亚班图语:Nigwedete
马达加斯加语:tiako ianao
印度阿萨姆邦语:Moi tomak bhal pau
南亚泰米尔语:Tamil n'an unnaik kathalikkinren
印度泰卢固语:Neenu ninnu pra'mistu'nnanu
泰国:Ch'an Rak Khun
乌尔都语:Mein tumhay pyar karti hun(woman to man)
Mein tumhay pyar karta hun(man to woman)
越南:Em ye'u anh(woman to man)
Anh ye'u em(man to woman)
新西兰毛里语:kia hoahai
爱斯基摩:Nagligivaget
格陵兰岛:Asavakit
冰岛:e'g elska tig
阿尔巴尼亚:T Dua Shume
俄罗斯:Ya vas Iyublyu,Ya Tibia Lyublyu
塞尔维亚:Volim Te
斯洛文尼亚语:Ljubim te
西班牙:Te amo,Tequiero
瑞典:Jag lskar dig
土耳其:Seni seviyorum
乌克兰:ja vas kokhaju
威尔士:Rwy'n dy garu di
亚述语:ana bayanookh(female to male)
ana bayinakh(male to female)
高加索切尔克斯语:wise cas热心网友 时间:2022-05-07 07:31
意大利文我爱你的意思
热心网友 时间:2022-05-07 09:39
意大利文“我爱你”的意思
这首歌很好听哦