真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

FB44B0開發(fā)板測(cè)試筆記-創(chuàng)新互聯(lián)

FB44B0開發(fā)板使用三星Samsung的S3C44B0處理器,對(duì)這款開發(fā)板感興趣的地方在于它提供IDE接口。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出南湖免費(fèi)做網(wǎng)站回饋大家。

現(xiàn)在支持IDE的開發(fā)板并不多見了,研究之后只有TE2440-II,使用三星S3C2440處理器,YL9200,使用ATMEL的AT91RM9200芯片。但價(jià)格都偏貴。這款44B0開發(fā)板以120元二手價(jià)格買到。

FB44B0開發(fā)板是44B0開發(fā)板中的簡(jiǎn)化板,沒有核心板,全部集成在一張電路板上

FB44B0開發(fā)板測(cè)試筆記

板子上的FLASH芯片很奇怪,使用的是AMD的AM29LV160MB,(雖然芯片上的印字是AM29LV160DB,估計(jì)是封裝時(shí)的錯(cuò)誤吧)

JTAG接口是14針的,使用JLINK V8無法鏈接,也許是連接線的問題,反正沒調(diào)出來

JTAG調(diào)試器只能使用Wiggler Parallel并口JTAG調(diào)試器

FB44B0開發(fā)板測(cè)試筆記


現(xiàn)在找到一臺(tái)帶并口的臺(tái)式機(jī)也不容易了

所以現(xiàn)買了一個(gè)USB轉(zhuǎn)并口,還買錯(cuò)了,現(xiàn)在很多都是所謂“打印線”,在XP和Win7中以USBPRINT驅(qū)動(dòng),轉(zhuǎn)化為USB001端口打印

之后買了USB轉(zhuǎn)真并口,好像是個(gè)德國(guó)芯片和驅(qū)動(dòng),驅(qū)動(dòng)只能用在XP的32bit版本中,(Windows7的設(shè)置會(huì)很麻煩),結(jié)果還不好使

實(shí)際上,JTAG的用處只有重新燒錄FLASH,還有進(jìn)行DEBUG。

對(duì)于DEBUG還是不要過于依賴JTAG的好,44b0自帶的啟動(dòng)程序是可以在內(nèi)存中下載執(zhí)行程序的,用輸出的方式調(diào)試感覺更加有效

FB44B0開發(fā)板測(cè)試筆記

連接主板的串口1設(shè)置速率115200可以接收到以上輸出

這個(gè)啟動(dòng)程序支持下載和執(zhí)行

comrun

指令通過串口下載并執(zhí)行

只能使用DNW工具下載,其他都不好用

netrun

netload

都需要使用TFTP向主板推送

在ADS中編譯是必須指定傳送的二進(jìn)制執(zhí)行文件必須是bin格式

FB44B0開發(fā)板測(cè)試筆記

FB44B0開發(fā)板測(cè)試筆記

FB44B0開發(fā)板測(cè)試筆記

燒錄FLASH時(shí)必須使用

燒錄工具和JTAG的支持工具都是比較老的,只能在XP的32位系統(tǒng)中執(zhí)行

燒錄的文件是HEX格式的,感覺BANYAN還是比較好用,雖然只是測(cè)試版

FlashPgm也可以成功燒錄

對(duì)主板的測(cè)試的最主要目的還是了解IDE的控制方法

主板的例程源碼有誤,正確的寄存器定義如下,(已經(jīng)過測(cè)試)

#define    IDE_DAT        0x4000002
#define    IDE_ERR        0x4000012
#define IDE_FEATURE    IDE_ERR
#define    IDE_SEC_CNT    0x4000022
#define IDE_SEC_NUM    0x4000032
#define IDE_LBA0    IDE_SEC_NUM
#define    IDE_LBA1    0x400000a
#define    IDE_LBA2    0x400001a
#define    IDE_LBA3    0x400002a
//#define    IDE_LBA_SEL    0x400002a
#define    IDE_CMD        0x400003a
#define    IDE_STATUS    0x400003a
#define IDE_ALT_STATUS    0x0400002c    //    R        ->3F6h
#define IDE_DEV_CTRL    0x0400002c    //    W        ->3F6h
#define IDE_DRV_ADDR    0x0400003c    //    R        ->3F7h

所有這些寄存器都可以和PC主板對(duì)應(yīng)

根據(jù)ATA7的標(biāo)準(zhǔn)描述,定義了DEVICE IDENTIFY命令的結(jié)構(gòu)

static union UN_HD_DEV_IDENT {
    U8 byte[512];
    U16 dat[256];
    struct _s_devid {
        struct _s_conf { 
            U16 rev_0:2;
            U16 resp_incomp:1;
            U16 rev_1:4;
            U16 removable:1;
            U16 rev_2:7;
            U16 ata:1; // 0 = ata
        } s_conf;    // 0
        U16 rev_1;    // 1
        U16 spec_conf;    // 2
        U16 rev_3[7];    // 3-9
        U8 serial_number[20];    // 10-19
        U16 rev_20[3];    // 20-22
        U8 firmware_version[8];    // 23-26
        U8 model_number[40];    // 27-46
        struct _s_multi_cmd {
            U16 max_num:8; // 00h=resv 01h-ffh=max multi command number
            U16    fix:8;    // 80h
        } s_multi_cmd;    // 47
        U16 rev_48;    // 48
        struct _s_compability {
            U16 rev0:8;
            U16 dma:1;
            U16 lba:1;
            U16 iordy_disable:1;
            U16 iordy_support:1;
            U16 rev12:1;
            U16 standby:1;
            U16 rev14:2;
        } s_compability;    // 49
        U16 compability2;    // 50
        U16 rev_51[2];    // 51-52
        U16 ref53;    // 53
        U16 rev_54[5];    // 54-58
        U16 multi_sector;    // 59
        U16 user_sector_number[2];    // 60-61
        U16 rev_62;    // 62
        U16 multi_word_dma[6];    // 63-68
        U16 rev_69[6];    // 69-74
        U16 max_queue;    // 75
        U16 rev_76[4];    // 76-79
        struct _s_major_number {
            U16    rev0:1;
            U16 ata1:1;
            U16 ata2:1;
            U16 ata3:1;
            U16 ata4:1;
            U16 ata5:1;
            U16 ata6:1;
            U16 ata7:1;
            U16 ata8:1;
            U16 ata9:1;
            U16 rev10:6;
        } s_major_number;    // 80
        U16 minor_number;    // 81
        struct _s_cmd_set {
            U16 smart:1;
            U16 security:1;
            U16 removable:1;
            U16 power_manage:1;
            U16 rev4:1;
            U16 write_cache:1;
            U16 look_ahead:1;
            U16 release_intr:1;
            U16 serv_intr:1;
            U16 reset:1;
            U16 protect_area:1;
            U16 rev11:1;
            U16 write_buf:1;
            U16 read_buf:1;
            U16 nop:1;
            U16 rev15:1;
        } s_cmd_set;    // 82
        U16 cmd_sets;    // 83
        U16 cmd_set_ext;    // 84
        struct _s_cmd_set s_cmd_set_enable;    // 85
        U16 cmd_sets_enable;    // 86
        U16 cmd_set_ext_enable;    // 87
        U16 dma_mode;    // 88
        U16 value89[6];    // 89-94
        U16 stream[5];    // 95-99
        U8    user_max_lba[8];    // 100-103
        U16 stream_pio;    // 104;
        U16 rev105;    // 105
        struct _s_phy_lgc_sec {
            U16 lgc_per_phy:4;    // 2^?
            U16 rev4:8;
            U16 longer:1;    // longer than 256 words per logic sector
            U16 multi_logic:1;    // multi logic per phy sector
            U16 value14:2;    // bit set to 14:1 15:0
        } s_phy_lgc_sec;    // 106
        U16 interseek;    // 107
        U16 uniqueid[4];    // 108-111
        U16 rev112[5];    // 112-116
        U16 words_per_logic[2];    // 117-118
        U16 rev119[8];    // 119-126
        U16 removable_status;    // 127
        U16 sec_status;    // 128
        U16 vendor129[31];    // 129-159
        U16 cfa_power;    // 160
        U16 rev161[15];    // 161-175
        U16 serial_number_vendor[30];    // 176-205
        U16 rev206[49];    // 206-254
        U16 integrity;    // 255
    } s_devid;
} u_hdpara;

寄存器同樣支持LBA48協(xié)議

U8 ReadSectorLBA48(long long lba)
{
    U8 lbas[6];
    U16 dat;
    int ii;
    U8 stt;
    
    for (ii=0; ii<6; ii++) {
        lbas[ii] = lba;
        lba>>=8;
    }
    SetIdeCount(0);
    SetIdeCount(1);
    SetLBA2(lbas[5]);
    SetLBA1(lbas[4]);
    SetLBA0(lbas[3]);
    SetLBA2(lbas[2]);
    SetLBA1(lbas[1]);
    SetLBA0(lbas[0]);
    
    SetDrvLBA3(0xE0, 0);
    
    while ((inportb(IDE_STATUS) & 0xC0)!=0x40);
    SetIdeCmd(0x24);
    
    while ((inportb(IDE_STATUS) & 0x88)!=0x08);
    
    for (ii=0; ii<256; ii++) {
        dat = GetIdeData();
        printf("0x%04x ", dat);
    }
    printf("\n");
    
    stt = inportb(IDE_STATUS);
    while ((stt & 0x88) != 0x00) {
        stt = inportb(IDE_STATUS);
    }
    return stt;    
}

完整程序參照附件


附件:http://down.51cto.com/data/2365418

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享名稱:FB44B0開發(fā)板測(cè)試筆記-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/diihhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部