新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 用ARM對FPGA進行配置的原理與方法

        用ARM對FPGA進行配置的原理與方法

        作者: 時間:2012-05-31 來源:網(wǎng)絡 收藏

        static AT91PS_PIO pioc;

        inline void pioc_out_0 (int mask)

        {

        pioc->PIO_CODR = mask;

        }

        inline void pioc_out_1 (int mask)

        {

        pioc->PIO_SODR = mask;

        }

        inline int pioc_in (int mask)

        {

        return pioc->PIO_PDSR mask;

        }

        inline void xmit_byte (char c)

        {

        int i;

        for (i = 0; i 8; i++)

        {

        if (c 1)

        pioc_out_1 (DATA0);

        else

        pioc_out_0 (DATA0);

        pioc_out_0 (DCLK);

        pioc_out_1 (DCLK);

        c >>= 1;

        }

        }

        void pioc_setup ()

        {

        pioc->PIO_PER =DATA0 | nCONFIG | DCLK | nSTATUS | CONF_DONE;

        pioc->PIO_OER =DATA0 | nCONFIG | DCLK;

        pioc->PIO_ODR =nSTATUS | CONF_DONE;

        pioc->PIO_IFER =nSTATUS | CONF_DONE;

        pioc->PIO_CODR =DATA0 | nCONFIG | DCLK;

        pioc->PIO_IDR =DATA0 | nCONFIG | DCLK | nSTATUS | CONF_DONE;

        pioc->PIO_MDDR =DATA0 | nCONFIG | DCLK;

        pioc->PIO_PPUDR =DATA0 | nCONFIG | DCLK | nSTATUS | CONF_DONE;

        pioc->PIO_OWDR =DATA0 | nCONFIG | DCLK | nSTATUS | CONF_DONE;

        }

        int pioc_map ()

        {

        int fd;

        off_t addr = 0xFFFFF800; // PIO controller C

        static void *base;

        if ((fd = open (/dev/mem, O_RDWR | O_SYNC)) == -1)

        {

        printf (Cannot open /dev/mem. );

        return 0;

        }

        printf (/dev/mem opened. );

        base = mmap (0, MAP_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, addr ~MAP_MASK);



        關(guān)鍵詞: FPGA ARM 原理 方法

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 揭西县| 遵化市| 鸡东县| 罗江县| 信阳市| 洛浦县| 隆安县| 赤水市| 古浪县| 方正县| 儋州市| 仪陇县| 图片| 巴彦淖尔市| 赫章县| 巫山县| 儋州市| 公安县| 卢湾区| 公主岭市| 涞水县| 科技| 蕉岭县| 伊春市| 安西县| 耒阳市| 白城市| 凯里市| 姜堰市| 永德县| 柳林县| 全州县| 阜康市| 长沙市| 岳普湖县| 呼和浩特市| 台湾省| 彩票| 军事| 潞城市| 广平县|