現在位置: 首頁 > 技術文章 > 裸機開發 > 文章
2017年06月03日 裸機開發 ⁄ 共 254字 STM32中malloc 分配內存失敗解決已關閉評論
在一個項目中,使用了STM32,數據結構比較復雜,采用動態內存分配,一開始程序運行老是異常,調試查找原因,發現是使用malloc分配內存空間時不成功造成的,經分析原因在于Startup_stm32fxx.s文件中定義的堆空間太小導致的,如下圖: malloc 因為malloc是在堆空間中分配內存,設置的大小小于需要分配的空間是肯定是要失敗的,我把堆大小改為10K就OK了。
閱讀全文
轉自http://blog.csdn.net/gwl11/article/details/6364336   上面在說到安裝中斷的時候說過,調用request_irq()時的參數中irq的確定是個難題,為什么? 你如果到網絡上查一下關于linux的資料,十有八九是關于i386體系結構上的,但linux是可以運行在多種cpu上的,比如采用arm內核的s3c2410,在i386體系上的經驗在這里可以用么?我們試驗一下:硬件準備,使用s3c2410的EINT0引腳作中斷測試,為它編寫一個中斷驅動程序,最后將...
閱讀全文
2014年04月18日 裸機開發 ⁄ 共 8129字 ARM MMU工作原理剖析已關閉評論
一、MMU的產生 ??????許多年以前,當人們還在使用DOS或是更古老的操作系統的時候,計算機的內存還非常小,一般都是以K為單位進行計算,相應的,當時的程序規模也不大,所以內存容量雖然小,但還是可以容納當時的程序。但隨著圖形界面的興起還用用戶需求的不斷增大,應用程序的規模也隨之膨脹起來,終于一個難題出現在程序員的面前,那就是應用程序太大以至于內存容納不下該程序,通常解決的辦法是把程序分割成許多稱為覆蓋塊(o...
閱讀全文
2014年04月11日 裸機開發 ⁄ 共 906字 dsp中eallow edis是什么意思已關閉評論
DSP 28335中有一些配置寄存器是受保護的,無法直接操作。也就是說在對這些寄存器進行修改之前,需要先去掉保護功能 而保護狀態是由狀態寄存器中EALLOW標志來指示的。匯編指令“EALLOW”就是將該標志位置位,允許對受保護的寄存器操作 。 EALLOW一般和EDIS配套使用,在對受保護的寄存器操作之后,用EDIS恢復寄存器的被保護狀態。 在TI的說明中 712 的98頁,有介紹: 5.2 EALLOW 保護寄存器 Preliminary EALLOW 保護寄存器 280x 器...
閱讀全文
2013年12月12日 裸機開發 ⁄ 共 338字 STM32三種啟動模式中存儲器的存儲介質已關閉評論
STM32三種啟動模式對應的存儲介質均是芯片內置的三種啟動模式對應的存儲介質均是芯片內置的,它們是: 1)用戶閃存?=??芯片內置的Flash。 2)SRAM?=??芯片內置的RAM區,就是內存。 3)系統存儲器?=??芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區域的內容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區。 在每個STM32的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管...
閱讀全文
2013年12月11日 裸機開發 ⁄ 共 2949字 評論 1 條
IAP,全稱是“In-Application Programming”,中文解釋為“在程序中編程”。IAP是一種對通過微控制器的對外接口(如USART,IIC,CAN,USB,以太網接口甚至是無線射頻通道)對正在運行程序的微控制器進行內部程序的更新的技術(注意這完全有別于ICP或者ISP技術)。ICP(In-Circuit?Programming)技術即通過在線仿真器對單片機進行程序燒寫,而ISP技術則是通過單片機內置的bootloader程序引導的燒寫技術。無論是ICP技術還是ISP技術,...
閱讀全文
二八杠讨论心得
×