立即注冊 登錄
一牛網 返回首頁

坑坑是吃貨的個人空間 http://www.68798101.buzz/?23743 [收藏] [復制] [RSS]

日志

MTK如此面試,你能答對多少

熱度 24已有 8117 次閱讀2017-3-23 15:19 |系統分類:手機智能終端

1:MTK方案中的總線工作原理是什么?ant">MTK采用的是arm核,他主要用來進行管理各個模塊,其中多媒體如視頻這些都是用了DSP的,DSP與ARM間有相互通信的。而ARM他分為AHB部線和APB總線。這兩個總線是不同的。AHB主要用來控制高速的東西如memory DMA等,而APB就是來控制外設的。如IIC,KEY,GPIO等。而APB與AHB中間有一個APB橋。這個APB橋就是用來做高低速轉換。

2:按鍵的處理過程,從中斷檢測到MMI的一系列過程。
這個就更簡單了。MTK的按鍵實際上就是用COL來做檢測的,如果有人做過無擴展IC的全鍵盤,會很清楚。只要發現有一個COL上有電平的變化,就會生產一個中斷,并發一個事件消息給KEY TASK,然后經過讀寄存器,最后就得到對應的按鍵,這個按鍵放到一個環形的BUG里,然后就發一個消息出去,這個消自己只是通知MMI來讀環里按鍵(當然發這個消息時有判斷的不要問我,你可以看代碼)。MMI讀到后就會做一個轉換。實際上就是將驅動層的按鍵重新映射一下。這個為什么要這樣做,就是為了方便,將MMI與驅動層分開,有點軟件常識的都知道。我不解答。什么長按,短按。重復按,,都是通過定時器來完成的。


3:camera的工作原理
CAMERA從硬件上說起,他有VSYN HSYN MCLK 還有PCLK,這幾個信號分別是MCLK是一個BB給CAM工作的時鐘,大家都知道所有的DSP都要是基于時鐘來運行的,這個就是他的基本時鐘,內部很多的時鐘都是通過這個時鐘進行分頻或倍頻得到的。VSYN是一場的同步。HSYN是一行的同步。PCLK是一個點一個時鐘,這個是用來與基帶抓數據同步的。這里的行,場如果你不明白,你可以看黑白電視機原理。打字太麻煩,如果要解釋,我們可以電話或其它的方式聊。CAM分為Preview與Capture。在Preview時CAM輸出為YUV的格式,然后經過RGB的轉換,并將此數據存到到一個BUF里,這個BUF也就是我們做MMI都知道的LAYER,然后與OSD的LAYER進行疊加,當然什么時候刷,這就是前面提到的VSYN了,這樣就可以知道了,為什么我們的刷屏速度是會影響我們的preview的速率了.數據是怎么抓到BB上來的,這個就是MTK上說的ISP了.ISP后還要進行一個RESIZE,這個東西就是會將他RESIZE到我們想要的尺寸.RESIZE的數據才是放到LAYER BUF里的數據.這打字太麻煩了,簡單的說一下Capture吧,他實際上就是MMI通知驅動層,我現在要一張多大的image.怎么通知的,就是MMI通過消息帶下來的參數,如照片大小.還有照片格式.等一些參數.實際上在如果設置下來的圖片大小與現在正在Preview的大小一樣的情況下,就會將最后一個Preview的幀進行編碼然后以文件的形式存起來.如果實際要的圖片SIZE與PREVIEW的不同時,這時他會將PREVIEW的最后一幀后的一幀進行RESIZE得到合適的SIZE后,就進行編碼,并以文件的形式保存下來.
還有一點就是VSYN與HSYN是會讓BB產生中斷的.自己看代碼就能懂了,還有進CAM時會丟掉幾幀.

4:PWM的原理,MTK哪里用到了PWM,為什么要用PWM?
看來不能太細了,,簡單點
PWM的原理:這個東西在MTK里面就是一種頻率不變的情況下占空比變化.占空比我不解釋了..懂點的都知道.
MTK哪里用到了PWM:用得最多的就是屏的背光.還有按鍵燈.等
為什么要用PWM:這個就是看原理就知道了..還是占空比的事.

5:時鐘信號的原理
MTK的時鐘外面能看得到的有32K(32.768K)和26M(或13M).32K最先起來.然后開始運行,啟動26M.26M經過內部的分頻和倍頻就得到了各種需要的頻率.看一下這個(26*4=104).其它的不說了..為什么是用32.768這個可以算得出來的,為的就是RTC,RTC是干什么的,大家都知道. 還有我們的手機與基站的同步時鐘也是分頻出來的. 大家注意一下26M不是總在工作的,進入SLEEP后為了省電就會停掉,這時由32K來工作,當然32K就沒有停過.26M也不會在SLEEP后總是停掉的,他會過一段時間工作一下.這樣為了省電,而又不會丟掉別人打過來的電話.而如果你想測量一個26M怎么搞呢?他工作一下,停一下,你如果打開MP3或MP4,他就一直有26M出來了,為什么呢?因為這個26M也是DSP的基時鐘,也就是上面我說過的DSP是用來做多媒體運算的.沒有時鐘指令就會跑不起來,數字電路都得有時鐘這一說.

6:I2C總線的用處,什么時候需要用I2C總線
這東西太簡單了,我還有點不想說..不就是一個start一個STOP一個ACK嘛,,簡單得不能在簡單.他可以根據器件地址進行通信..當年在學校時看了很多這資料..
什么時候需要用I2C總線:這個還問,你的器件是IIC的器件,我就得用IIC總線..這個太簡單了,,你還是下次不要問了,你要問就問點具體的,一個起始信號是什么樣子的,STOP是什么樣子的,具體畫一下,ACK是什么時候才出現的,ACK起到什么作用.

7:USB&nBSP; UART  JTAG各式什么,燒程序的工作原理。
我只說一下JTAG,哪些USB,UART我就不說了,大家都天天在用,不說了
JTAG是ARM公司用來調試ARM核的一個協議.
燒程序的工作原理:MTK內部有rom的,大家都知道.他有一個內部代碼在開機時監視UART上接收到的數據,然后決定執行ROM的代碼還是進入下載BIN的模式.

8:充電的過程是怎么樣的?
充電.做過雙電池的人都知道,我做過,我知道,哈哈
當電池電壓很低時會進入預充,這時電流很少..后面的就是恒流恒壓,還有最后就是為了保護電池,他在幾個小時內沒有充滿也會停掉,有錯誤提示的.所以大家就不要怕你的電池充爆的事.

9:名詞解釋:回調函數
   以及用處,什么時候執行?

回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用為調用它所指向的函數時,我們就說這是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。

10:ASSETR是什么?什么情況下需要用
提示你的代碼在錯誤的情況執行了.在你認為正常情況下不可能執行到的地方就得放這東西..這東西寫代碼的人要記得經常用,多用.沒了

11:TYPEDEF的用法
用來聲明自定義數據類型,主要是為了達到簡便,還有就是在換編譯環境時這東西比較有用.因為不同的編譯環境數據類型占的位數有可能不一樣的.

12:MTK程序中的REG是存放在哪里的?
RAM中,通過RAM的地址內容,可以找到對應的REG的地址,找到了REG的地址就可以對REG進行操作

13:全局變量,局部變量,靜態局部變量各是存放在哪個位置?
全局變量靜態局部變量: 存放在靜態RAM中.
局部變量:存放在動態區.而這東西在函數調用時會壓棧的.他可能這一次運行存放在一個地址,下一次運行時就在另一個地址了,是一個不固定的.寫過匯編的都知道.

15:大小端模式是什么?MTK才用了哪種模式?
就是高位存高位,低位存低位,或者就是高位存低位,低位存高位.MTK好像是小端.

16:MTK的程序架構是什么?你有什么建議改進?
基于時實操作系統來管理.用MAKEFILE來管理編譯.分為驅動層中間層和MMI層.
沒有什么好的建議,個人感覺不錯,我寫代碼都是按他們的風格來寫的,,很好管理.

17:音頻 視頻 播放原理。
音頻 視頻 播放原理
這個東西我回答不了,我覺得你也回答不了,不信你自己回答..你回答我問.看你能回答出來不.

18:如何添加語言,包括字庫
這個做MMI的第一步..做過MMI的人都知道.

19: MTK芯片里有CACHE嗎?有片內ROM嗎?有片內SRAM嗎?
都有

如果有,各自存放什么?有什么作用?芯片工作中具體如何使用
CACHE 在短時間內多次得復執行相同的代碼時這樣可以加快速度.
片內ROM:開始上面說了,不回答了
片內SRAM:將重要的,對時間要求高的放在這里面..編譯時有說明的..


20:以下兩種寫法有什么不同?對引起的后果進行分析
A:
void Set_CMPDN_Low(void)
{
    GPIO_WriteIO(0, gpio_camera_cmpdn_pin);
}

B:
#define Set_CMPDN_Low()   GPIO_WriteIO(0, gpio_camera_cmpdn_pin)

A:就是省空間.但是速度慢.
B:就是浪費空間,但是速度快.


路過

雞蛋
5

鮮花
2

握手

雷人

剛表態過的朋友 (7 人)

全部作者的其他最新日志

發表評論 評論 (27 個評論)

回復 SUN12345 2017-3-30 17:23
。。。。。。好難
回復 jianghuiyan 2017-4-6 10:12
我靠,這個誰COPY過來的,這個是N年前,我在52RD上回復的呢。。
回復 jianghuiyan 2017-4-6 10:17
回想當年,一口氣打了這么多字出來。。
不過52RD上將的賬號禁了。
回復 xzz789 2017-5-8 09:43
你們也是52RD過來的啊?52RD人氣不旺了。
回復 wuxiekeji 2017-7-6 21:57
看一看,好文章
回復 lianyanjue 2017-9-20 15:14
這么多呢。。。
回復 yuewen20080812 2017-10-25 11:20
學習了
回復 nbaycheng 2018-1-17 09:23
沒人能回答出來
回復 18718411466 2018-2-8 20:08
  
回復 seawaterblue 2018-2-12 09:44
這很一般嘛,做了幾年的都能回答,樓主的回答有點大簡單了~~~
回復 yuanliz 2018-4-13 00:00
學習了
回復 alias12345 2018-7-4 15:00
學習學習
回復 renpeng0106 2018-8-3 13:32
剛接觸mtk  學習了
回復 Lauven 2018-9-29 10:43
收藏學習了!
回復 a123bc 2018-10-17 15:44
哈哈,一個都答不上來
回復 a123bc 2018-10-24 09:23
難難難
回復 a123bc 2018-10-26 09:16
我又來啦
回復 a123bc 2018-11-2 09:06
我又來啦
回復 a123bc 2018-11-14 09:04
啦啦啦
回復 a123bc 2018-11-16 09:04
啦啦啦,我又來了
12下一頁

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

聯系我們|小黑屋

排列五近2000期开奖结果