在VDSP中使用FP取得函數的呼叫堆疊

     本文開發環境:VDSP 5.0, bf561在GCC中有一個內建函數__builtin_return_address (LEVEL),用於向上取得調用函數的返回地址。在VDSP中無此函數,但是可以用FP指標來達到相同的目的。在VDSP的C函數中,通常第一條彙編指令就是LINK 0x0; // 此處數字可變這條指令做了如下工作:[--SP] = RETS;[--SP] = FP;FP = SP;SP +=

家有千金之興趣班

小姑娘四歲多了,開始上中班。突然發現,小姑娘一下多了很多的興趣班。鋼琴:這個是小姑娘最早要求上的,堅持到現在也有半年多了,慢慢的已經沒有當初的熱情,老師評價說:“小姑娘的鋼琴近期進步不大,但是挺喜歡認字的,書上的曲子名稱和歌詞從來都不會認錯。”這也算是一種意外收穫吧!需要每周上一次新課,二次練琴。帶小姑娘出去,小姑娘雖然有時彈琴的時候不認真,但也沒有拒絕彈琴,再觀察一段時間看看,呵呵。舞蹈:問小姑娘上不上舞蹈班,小姑娘回答:“我想上譚老師的舞蹈班。”譚老師是小姑娘幼兒園班上的老師,平時很喜歡小姑

家有千金之鋼琴課(4)

重新給小姑娘找了個培訓老師,這回是一個專門做培訓的機構,昨天第一次課試聽,得到了幾個完全相反的資訊。這邊的老師認為,一周上一次課足夠了,只有考級之前才需要上兩次課。另一個完全相反的資訊是這邊的老師認為不需要死記硬背譜線和音符之間的關係,彈得多了自然能記住。30分鐘的課下來,小姑娘居然背上出汗。因為在上一個老師那裡,一次課最多也就彈十幾遍曲子,在這邊幾乎是不間斷地彈,也不知道小姑娘是否覺得很累,只是在課後問她,喜不喜歡到鄧老師這兒練琴,小姑娘很肯定地回答願意。那就先試試吧,呵呵!一個小插曲:鄧老師

CreateProcess所需要的最少環境變數

關於CreateProcess,在MSDN裡面有比較詳細的文檔,但是關於其中的lpEnvironment參數卻語焉不詳,它只是告訴我們這個參數該以什麼形式使用,但是對於這個參數可以傳遞的內容卻閉口不談,那麼什麼樣的環境變數是必須傳遞的,什麼是不可以傳遞的呢?本文就此做一番討論。當然,你大可將這個參數設定為NULL,那也就沒必要再往下看了。1.1   

u-boot for bf561中的命令實現

 硬體平台:bf561軟體平台:u-boot-1.1.6,gcc for blackfin,visual dsp 5.0我們知道,u-boot的運行過程是首先進行一些初始化化工作,然後在一個死迴圈中不斷接收串口的命令並進行解釋執行,下面我們就看看執行部分代碼的實現,見common/main.c中的run_command:int run_command (const char *cmd, int flag){…       while (*str) {        …              

在VDSP中編譯uclinux(2):記憶體布局

 1   uclinux的記憶體布局在uclinux啟動時,有一段空間利用的提示:Memory map: text      = 0x00001000-0x000b0db0 init      = 0x000b1000-0x000bd23c data      = 0x000bf1b8-0x000e5588 stack     = 0x000c0000-0x000c2000 bss       = 0x000e5590-0x000f14d8 available = 0x000f14d8-0x03

家有千金之童話與謊言

小姑娘快4歲了,晚上睡覺前總不安分。某晚,講完故事了,小姑娘還不肯睡覺,一會兒要喝水,一會兒要上廁所。實在覺得小姑娘太過分了,對小姑娘說:“再說謊話會像匹諾曹樣的長個長鼻子。”小姑娘回答:“那就讓我試試吧。”。。。。。。。。一個美麗的故事就這樣讓小姑娘戳破了,變成了一個特大的謊言!小姑娘也太有實踐精神了點!突然想起很早之前有一次嚇唬小姑娘要把她放到馬桶裡沖走,結果小姑娘問了一個很有判斷力的問題:“可是馬桶這麼小沖不走怎麼辦呀?”謊言就是謊言,即便是在一個四歲不到的小伢面前也同樣不堪一擊。都說講故

在u-boot for bf561中使用nand flash

 在u-boot_1.1.6中支援大量的NandFlash晶片,但是由於各種NandFlash在各個不同系統中可以有不同的實現方式,因此在u-boot_1.1.6中必須自已實現對NandFlash的一些低級操作,需要修改的代碼較多。下面以目標板上使用的Samsung K9WAG08U1A為例進行移植說明。K9WAG08U1A是一片2G的Nand Flash,其內部由2片1G的nand

bfin-xxx-gcc-4.3.1中auto-host.h的產生

 在Makefile中有這樣的定義:auto-host.h: cstamp-h ; @true即這個檔案依賴於cstamp-h,而cstamp-h又有如下依賴:cstamp-h: config.in config.status     CONFIG_HEADERS=auto-host.h:config.in /     CONFIG_FILES= /     LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL)

在vdsp(bf561)中自訂Stack和Heap

 1 自訂StackAB兩個核有不同的Stack,以下定義僅針對A核。1、 在ldf中定義要使用的記憶體塊   MEM_L2_STACK { TYPE(RAM) START(0xFEB10000) END(0xFEB17FFF) WIDTH(8)

u-boot在vdsp 4.5下的移植

 1 基本思想1、 軟體版本為u-boot 1.1.6。2、 儘可能使用VDSP的庫函數,而不使用u-boot中的實現,如malloc,memcpy等。3、 仍然使用A核運行u-boot,B核空閑,但可方便加入代碼。4、 使用vdsp進行儲存管理,即用LDF檔案和malloc等完成記憶體管理,將u-boot的代碼放在SDRAM最高的1M,Stack與Heap預設使用L1

uClinux for bf561中的中斷處理(1):中斷初始化

    在uClinux初始化的過程中,就會配置好相應的中斷向量表,並根據使用者的配置來設定外部中斷的優先順序。/* init/main.c */asmlinkage void __init start_kernel(void){…       sort_main_extable();       trap_init();       rcu_init();       init_IRQ();       pidhash_init();       init_timers();      

家有千金之紅旗與星星

    小姑娘四歲多,上圍棋班有一段時間了,一直處於較為領先的位置。    上一次的圍棋課,小姑娘回答錯了一個問題,只是老師忘記扣星星了,這樣小姑娘就還處於並列第一的位置。回家告訴小姑娘下次見到老師要提醒老師扣掉這顆星,做個誠實的小女孩,要靠實力贏才是最棒的。小姑娘老大的不願意,只是不再說話了。最後答應小姑娘如果她提醒老師了就講兩個故事,如果沒有就不講故事,小姑娘勉強同意。    今天放學後接小姑娘,小姑娘很興奮:“我要你今天給我講兩個故事,因為我告訴樂老師了,樂老師說要鼓勵我,就不扣星星了。”

快樂蝦的工具箱-0.0.2

經過前段時間的學習,終於理解了cygwin的大部分運行機制,只是很遺憾對其signal關鍵技術的細節未能完全掌握,以致於依賴於signal機制的程式未能正確運行。還是採用老辦法,先轉移陣地,哪天再殺回來,嘿嘿。先發布一個階段性的版本,以示咱至少往前挪了一小步。這個版本包括以下內容:Cygwin checkout 2008-09-28Bash 4.0                                                                           

在VDSP中編譯uclinux(4):console實現

 我們知道,在uclinux初始化過程中,直到console_init調用之前是沒有任何輸出的,它們的輸出都放在__log_buf這個緩衝內的,在console_init調用時再將這個緩衝區內的資料一次性輸出。那麼console_init又做了什麼工作呢? /* * Initialize the console device. This is called *early*, so * we can't necessarily depend on lots of kernel help here.

家有千金之妙語錄(15)

小姑娘四歲多,挺乖巧的,時常把外婆哄得開心得很。因為小姑娘的外婆覺得有個外字就生份了,所以小姑娘從小就不叫“外婆”,而是叫“奶奶”。...........暑假,告訴小姑娘人死了之後就會變成天上的星星,小姑娘牢牢記住。過完暑假,外婆從老家來,小姑娘說:“奶奶,我不想你變星星,也不要你老。”............晚上,外婆希望小姑娘陪她睡,小姑娘猶豫一番後走到外婆房間:“奶奶,你別講狼來了行嗎?”............

Cygwin中的系統調用(2):get_page_size

快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於Windows xp with sp3vs2008cygwin checkout-20080928 (僅指cygwin.dll) 歡迎轉載,但請保留作者資訊 這個系統調用用於取得核心頁面的大小。Cygwin對此的實現為:extern "C" size_tgetpagesize (){     if (!system_info.dwAllocationGranularity)     

家有千金之妙語錄(11)

小姑娘快4歲了,常有驚人之語。某晚,小姑娘不肯睡覺,拿著鬧鐘在手上玩。小姑娘:“我要8點鐘,不要睡覺。”媽媽:“你要是能把時間變到8點鐘,媽媽就答應你的要求,最好能把媽媽變得和你一起上幼兒園。”小姑娘:“我要爸爸和媽媽一起上幼兒園。”媽媽:“那誰來做飯呢?”小姑娘:“奶奶和姐姐不變得好小,可以做飯。”哈哈,我也想上幼兒園!小姑娘把爸爸也變小吧!

家有千金之皮球的故事

小姑娘快4歲了,思維活躍得很。晚上,按照規矩,小姑娘先講一個故事,然後爸爸講兩個故事。“我給你講一個皮球的故事.........”。 “從前呀,有一隻老虎,有一天,它出去玩,突然颳起了狂風,下起了大雨,還有打雷和閃電,呼,呼...........然後它就害怕了,趕緊跑回家去,它的爸爸媽媽也很害怕,然後天上又出現了十個太陽,呼,呼..........可以找大公雞來,它就張開它的嘴巴,把那個狂風吃下去了,然後又把那個閃電吃下去了,又把太陽吃下去了,可是它就肚子疼了,然後又把東西都吐出來了。還是颳風,

在VDSP中編譯uclinux(3):編譯器的差異

雖然VDSP和GCC3.2有很好的相容性,但是還是有一些差異的,以下列出已經碰到的一些差異及處理辦法:1、__builtin_expect(exp, val):這是GCC的一個內建函數,而VDSP無此函數,它用於為編譯器提供分支預測資訊,其傳回值是整數運算式exp的值,val的值必須是編譯時間常數。這個內建函數的語義是 exp 的預期值是 val,編譯器可以根據這個資訊適當地重排語句塊的順序,使程式在預期的情況下有更高的執行效率。因此在移植時直接用:#define

總頁數: 61357 1 .... 16168 16169 16170 16171 16172 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.