娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年11月04日(星期一)

正在發生

2021年11月04日 | mini2440 裸機編程 -led

發布者:PeacefulAura 來源: eefocus關鍵字:mini2440  裸機編程  led 手機看文章 掃描二維碼
隨時隨地手機看文章

本系列使用的硬件環境是友善之臂的 mini2440,百問網的OpenJtag,所有程序linux gcc下編譯, 具體硬件設置  軟件環境搭建可見openjtag 文檔:

編譯器使用友善之臂的 4.4.3 。編譯器配置 /etc/profile:


  1. PATH="$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin"  

  2. export PATH  


注意如果在 /etc/provile 里面修改了編譯器 之后,只是 source /etc/profile 還是不夠的,無法調整所用編譯器路徑。 正確做法是 先 source /etc/environment  然后再 source /etc/profile


第一個程序是 led 燈控制:

開頭 匯編 文件:

  1. @******************************************************************************  

  2. @ File£ocrt0.S  

  3. @ 1|?ü£oí¨1y?ü×aè?C3ìDò  

  4. @******************************************************************************  

  5.   

  6. #define  PXT                            0x12  

  7.   

  8. .text  

  9. .global _start  

  10. _start:  

  11.             ldr     r0, =0x53000000     @ disable WATCHDOG  

  12.             mov     r1, #0x0                       

  13.             str   r1, [r0]              @   

  14.   

  15.             ldr     sp, =1024*4         @ stack pointer point to 4K  

  16.   

  17.             bl      main                  

  18. halt_loop:  

  19.             b       halt_loop  


主函數文件:


  1. #define GPBCON      (*(volatile unsigned long *)0x56000010)  

  2. #define GPBDAT      (*(volatile unsigned long *)0x56000014)  

  3.   

  4. #define GPB5_out    (1<<(5*2))  

  5. #define GPB6_out    (1<<(6*2))  

  6. #define GPB7_out    (1<<(7*2))  

  7. #define GPB8_out    (1<<(8*2))  

  8.   

  9. void  wait(unsigned long dly)  

  10. {  

  11.     for(; dly > 0; dly--);  

  12. }  

  13.   

  14. int main(void)  

  15. {  

  16.     unsigned long i = 0;  

  17.       

  18.     GPBCON = GPB5_out|GPB6_out|GPB7_out|GPB8_out;     

  19.   

  20.     while(1){  

  21.         wait(100000);  

  22.         GPBDAT = (1<< ( (i%4) + 5) );   

  23.         if(++i == 16)  

  24.             i = 0;  

  25.     }  

  26.   

  27.     return 0;  

  28. }  



這個程序實現的功能是點亮led 燈,并實現流水效果。其中高電平熄滅 led 燈。


鏈接腳本把兩個文件鏈接成一個獨立的二進制文件: ( 使用開始的 4K 字節內存)


  1. SECTIONS {  

  2.         . = 0x00000000;  

  3.         .text          :   { *(.text) }  

  4.         .rodata ALIGN(4) : {*(.rodata)}  

  5.         .data ALIGN(4) : { *(.data) }  

  6.         .bss ALIGN(4)  : { *(.bss)  *(COMMON) }  

  7. }  


Makefile 腳本


  1. CFLAGS  := -Wall -Wstrict-prototypes -g -fomit-frame-pointer -ffreestanding  

  2. all : crt0.S  leds.c  

  3.         arm-linux-gcc $(CFLAGS) -c -o crt0.o crt0.S  

  4.         arm-linux-gcc $(CFLAGS) -c -o leds.o leds.c  

  5.         arm-linux-ld -Tleds.lds  crt0.o leds.o -o leds_elf  

  6.         arm-linux-objcopy -O binary -S leds_elf leds.bin  

  7.         arm-linux-objdump -D -m arm  leds_elf > leds.dis  

  8. clean:  

  9.         rm -f   leds.dis leds.bin leds_elf *.o  




首先運行腳本openocd.sh


  1. openocd -f /etc/openocd/interface/openjtag.cfg -f /etc/openocd/target/samsung_s3c2440.cfg  

保持開啟不退出狀態。


然后另開啟一個終端啟動 elf 文件調試


  1. arm-linux-gdb -x gdb.init leds_elf  



其中 gdb.init 文件內容:


  1. target remote 127.0.0.1:3333  

  2. monitor halt  

  3. monitor arm920t cp15 2 0  

  4. monitor step   

  5. load  


此時就可以像調試普通程序一樣調試這個裸機程序。


工程文件地址:


有一點特別需要注意:

匯編語言文件開頭的位置標號必須是 _start:  如果是其它的則會導致 OpenJtag 無法識別,load 之后 用si指令執行導致 PC指針到未知的位置!!。


關鍵字:mini2440  裸機編程  led 引用地址:mini2440 裸機編程 -led

上一篇:mini2440裸機編程------IIS
下一篇:2440+dm9000A裸機以太網通訊

推薦閱讀

10月29日,一加在美國紐約舉行了一加6T新品發布會,發布會后的第二天清晨,趁著陽光正好,筆者帶上一加6T壓馬路掃街,拍攝的短短半小時不到就收獲了幾張不錯的樣張,糾結一加6T的拍照效果如何呢?所有照片零修圖,在這與大家分享。  先簡單介紹下一加6T的鏡頭素質,采用的是 2000 萬+1600 萬高清雙攝像頭,雙 f/1.7 大光圈,配以2018年相當經典的SO...
在真正智能互聯的世界里,我們將享有一個可以改善人們生活方式、提升人與技術互動方式的環境,而要實現這一承諾,就需在計算、通信和網絡基礎設施方面進行重大革新。日本電報電話公司(NTT)、英特爾公司和索尼公司宣布,將共同創立一個全新的行業論壇——創新光網與無線網絡(IOWN1)全球論壇。 該全球論壇的目標是加速新通信基礎設施的普及,新基礎設施...
/*本風速傳感器采用小型直流有刷電機與三杯式旋轉風杯組裝 而成,其工作原理為,當環境有水平流動風時,旋轉風杯能夠產生旋轉,并帶動小型電機產生電壓,其電壓與旋轉速度基本成正比。利用此信號電壓,可以對環境風速進行測量。這款風速傳感器采用海洋軍用的高精度測量風速傳感器,與傳統產品先別,具有更高精度;是建筑機械(起重機、履帶吊、門吊、塔吊)...
對于近期的磷酸鐵鋰電池回潮,和后面磷酸錳鐵鋰的升級方案,還是需要有一個清醒的認識——在高鎳在前端工藝調整和不斷進步以后,圍繞安全和能量密度的平衡可能會有一個轉折。 從安全角度來看,復合集流體是近年來安全技術的一個重要突破,寧德時代的布局可以說是國內的一個風向標。 相對而言,國外的電池標的,也會在各種屏障下有一定的發展。 按照目前的...

史海拾趣

問答坊 | AI 解惑

I2C總線忽悠記

一般串行數據通訊都有時鐘和數據之分,有異步和同步之別. 有單線,雙線和三線等. I2C肯定是2線的(不算地線). I2C協議確實很科學,比3/4線的SPI要好,當然線多通訊速率相對就快了. I2C的原則是: 在SCL=1(高電平)時,SDA千萬別忽悠!!! 否 ...…

查看全部問答∨

quartus出現的問題

好像不支持bmp文件 只好打包了 …

查看全部問答∨

職場警示錄:別做工作中的笨角色

職場上,學習高深的理論,鉆研有難度的技術,對于職場人來說都算不上是難事,只要你肯下功夫,都能攻下堡壘。最難的就是與人打交道,特別是與那些可怕的人打交道。所以,千萬小心,別做職場里的笨角色。   笨事一:你不理會謠言   錯了!謠 ...…

查看全部問答∨

WINCE驅動dll加載問題

我在移植SC2440驅動cdev.dll,它在注冊表里的項如下。但是它的入口函數DllEntry在process attach之后立刻就process detach了,初始化函數DEV_Init沒有執行,DEV_Init函數在開頭用RETAILMSG打印一串信息,在串口上沒看到輸出。 在[HKEY_LOCAL_MACHI ...…

查看全部問答∨

help me!WINCE系統啟動問題?

我用的QQ2440的開發板,從nor flash啟動將一個系統nk.bin從燒到開發板后啟動正常,然后關機從nand flash啟動卻一直停留在開發板的歡迎界面,而不能啟動系統,請問是否有人遇到過這種問題,為什么會這樣呢?…

查看全部問答∨

pb定制新SDK的問題

使用的環境是vc2005和pb5.0 用pb5定制新sdk,配置開發語言的時候,只發現evc4.0,只好選了,勾上cf。 sysgen,mksdk,安裝好這個sdk, 在vc2005下,在工具/仿真設備下 ,出現 由于前面的錯誤,Smart Device Configuration Package ({D245F354-3 ...…

查看全部問答∨

自動排氣扇電路

本帖最后由 jameswangsynnex 于 2015-3-3 20:04 編輯 …

查看全部問答∨

請教一下stm32usb雙緩沖問題

我將stm32的usb端點2設置為雙緩沖,但是在測試的時候發現出現丟包現象; 設置雙緩沖代碼如下: #define SPEED_UP #ifdef SPEED_UP         SetEPType(ENDP2, EP_BULK);         SetEPDoubleBuff ...…

查看全部問答∨

菜鳥之基于SX1212的低功耗無線模塊

基于SX1212的低功耗無線模塊,主控芯片采用同樣低功耗的STM8L101.其中SX1212和MCU之間采用SPI通信。自己剛學單片機不久,經驗不足,英語也不太好。所以在看1212的手冊時有點吃力,剛開始了解通信這方面,時序圖也沒看過幾個(希望前輩們能分享點經 ...…

查看全部問答∨

在LM3S9B96使用SafeRtos跑到error hook函數的可能原因分析

如題,在LM3S9B96下使用RTOS,程序跑到vApplicationErrorHook()函數中。vApplicationErrorHook()函數執行的時候,要么發生了調度器數據結構的沖突,要么是在執行上下文切換的時候潛在的棧溢出。   void vApplicationErrorHook( xTaskHandle ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 岳阳市| 韶关市| 右玉县| 桂东县| 肥城市| 宜昌市| 七台河市| 平塘县| 凤城市| 宜黄县| 拉萨市| 韩城市| 阿克陶县| 黑山县| 五峰| 贡山| 酉阳| 松桃| 井研县| 灌阳县| 平果县| 扶余县| 乡宁县| 台中市| 定西市| 长顺县| 宜兴市| 晋中市| 东源县| 宣汉县| 夏津县| 五大连池市| 九江市| 榆社县| 福贡县| 辉南县| 青龙| 达州市| 娄烦县| 江油市| 遂昌县|