日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 簡單地說,IAR調(diào)試S3C6410可以分成以下3個(gè)步驟:1)編寫mac文件,初始化S3C6410的看門狗、時(shí)鐘、DDRAM控制器等,為下載代碼做準(zhǔn)備。2)編寫icf文件對S3C6410的內(nèi)存空間進(jìn)行分配,配置堆棧段、數(shù)據(jù)段、程序段的起始

簡單地說,IAR調(diào)試S3C6410可以分成以下3個(gè)步驟:

1)編寫mac文件,初始化S3C6410的看門狗、時(shí)鐘、DDRAM控制器等,為下載代碼做準(zhǔn)備。

2)編寫icf文件對S3C6410的內(nèi)存空間進(jìn)行分配,配置堆棧段、數(shù)據(jù)段、程序段的起始地址和大小。

3)編寫S3C6410的啟動(dòng)代碼,跳至main函數(shù)運(yùn)行。


下面是飛凌6410核心板的IAR調(diào)試過程:

1)編寫mac文件。mac文件無非就是初始化cpu,這個(gè)功能Wince的FIRSTBOOT就可以實(shí)現(xiàn),直接在nandflash里燒入FIRSTBOOT(飛凌里叫什么steploader),然后改為nandflash啟動(dòng),搞定~(飛凌給的資料里,用RVDS2.2調(diào)試S3C6410就是這么干的,友善的就不曉得了)

2)編寫icf文件。icf文件大同小異,可以根據(jù)IAR的模板修改,路徑為IAR SystemsEmbedded Workbench 6.0armconfiggeneric.icf,只需修改地址映射和段位置即可,以下為我的icf文件


/*###ICF### Section handled by ICF editor, don't touch! ****/

/*-Editor annotation file-*/

/* IcfEditorFile="$TOOLKIT_DIR$configideIcfEditora_v1_0.xml" */

/*

/*-Specials-*/

define symbol __ICFEDIT_intvec_start__ = 0xc000000;

/*-Memory Regions-*/

define symbol __ICFEDIT_region_ROM_start__ = 0x50000000;

define symbol __ICFEDIT_region_ROM_end__ = 0x50FFFFFF;

define symbol __ICFEDIT_region_RAM_start__ = 0x51000000;

define symbol __ICFEDIT_region_RAM_end__ = 0x51FFFFFF;

/*-Sizes-*/

define symbol __ICFEDIT_size_cstack__ = 0x1000;

define symbol __ICFEDIT_size_svcstack__ = 0x800;

define symbol __ICFEDIT_size_irqstack__ = 0x800;

define symbol __ICFEDIT_size_fiqstack__ = 0x800;

define symbol __ICFEDIT_size_undstack__ = 0x800;

define symbol __ICFEDIT_size_abtstack__ = 0x800;

define symbol __ICFEDIT_size_heap__ = 0x800;

/**** End of ICF editor section. ###ICF###*/

define memory mem with size = 4G;

define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];

define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];

define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };

define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };

define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };

define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };

define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };

define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };

define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };

initialize by copy { section .intvec };

do not initialize { section .noinit };

place in ROM_region { section .intvec };

place in ROM_region { section .intvec_init };

place in ROM_region { section .iar.init_table };

place in ROM_region { section .text };

place in RAM_region { section .data };

place in RAM_region { section .bss };

place in RAM_region { block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,

block UND_STACK, block ABT_STACK, block HEAP };

飛凌核心板使用的是DDRAM,起始地址為0x50000000

從文件可以看出程序段放在0x50000000~00x50FFFFFF,數(shù)據(jù)段放在0x51000000~00x51FFFFFF

3)編寫啟動(dòng)代碼。其實(shí)啟動(dòng)代碼可短可長,完成關(guān)鍵部分就行,這里把IAR SystemsEmbedded Workbench 6.0armsrclibarmcstartup.s復(fù)制過去就行,現(xiàn)在萬事具備,只差用IAR新建工程了。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

針對傳統(tǒng)類人機(jī)器人在控制系統(tǒng)實(shí)時(shí)性和視覺識別方面的不足,以S3C6410作為主控芯片,設(shè)計(jì)了具有視覺識別功能的類人機(jī)器人控制系統(tǒng),通過改進(jìn)和簡化視頻識別算法取得了良好的目標(biāo)識別效果。實(shí)驗(yàn)表明,基

關(guān)鍵字: s3c6410 機(jī)器人 機(jī)器視覺

早在今年8月份的時(shí)候就將jpeg解碼弄好了,但是一直以來非常的不穩(wěn)定,如果修改了任意地方的代碼都會造成解碼可能失敗,起初我以為是堆棧問題,或者后面有非法指針,但是都沒得到結(jié)果,最后讓我只能懷疑編譯器了,而且

關(guān)鍵字: jpeg解碼 s3c6410

這幾天晚上一直折騰S3C6410的裸機(jī)SD卡啟動(dòng),不大想使用UBOOT,我是搞硬件的,對底層非常感興趣,不喜歡已經(jīng)寫好的,因此自己一直在嘗試,其實(shí)很早之前就試過SD卡啟動(dòng),也就是ARM11上電后會把SD卡倒數(shù)第9KB開始...

關(guān)鍵字: s3c6410 sd 裸機(jī)啟動(dòng) boot啟動(dòng)

需要在 IAR的Options -> General Options ->Library Configuration里設(shè)置一下函數(shù)庫,不然printf函數(shù)不對,將Library Configuration 中的Libra...

關(guān)鍵字: error STM32 iar調(diào)試

主要過程:. 安裝lunux 環(huán)境. 安裝編譯工具. 下載Linux kernel. 安裝AndroidSDK. 獲得root file system. 修改Linux kernel 源碼. 配置Linux kernel...

關(guān)鍵字: Android s3c6410 內(nèi)核 移植

之前一直不知道如何使能硬件協(xié)處理器,剛剛在網(wǎng)上找到了方法,配置好RVDS,選擇相應(yīng)的內(nèi)核,選擇硬件VFP在初始化代碼中加入VFPEnable EQU (0x40000000) ;VFP使能...

關(guān)鍵字: s3c6410 vfp 浮點(diǎn)協(xié)處理器

???????? 雖然S3C6410出來很多年了,甚至于已經(jīng)停產(chǎn)了,出貨的幾乎都有依賴于庫存,SE4500也出來很多年了,但是網(wǎng)上依舊不會有調(diào)試資料幫助你,一切源于自私。希望本文能幫到你,不必感謝。本

關(guān)鍵字: s3c6410 se4500

/*************************************************************************************************************...

關(guān)鍵字: s3c6410 裸機(jī)dma

要確保S3C6410已經(jīng)初始化,一般是使用UBOOT初始化?//串口寄存器//UART0#defineULCON0????????????????*((vu32*)0x7F005000)???????

關(guān)鍵字: s3c6410 uart驅(qū)動(dòng)

這個(gè)比較簡單,一次成功,沒遇到任何問題.GraphRotation.c/****************************************************************

關(guān)鍵字: s3c6410 裸機(jī)驅(qū)動(dòng)
關(guān)閉