Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите обьеденить два 8-битных имиджа ROM в один 16-битный
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Dibor
Добрый день.
Объясните пожалуйста тупому.

Имеются бинарные файлы 8-битных EPROM-ов(27С512), так как Motorola 68000 имеет 16 битную шину то нужно их как-то объединить что бы потом можно было дезассемблировать.

Заранее спасибо.
Сергей Борщ
Цитата(Dibor @ Dec 12 2009, 15:41) *
нужно их как-то объединить
Откомпилируйте любимым С-компилятором для PC и объединяйте:
Код
#include    <stdio.h>
#include    <stdint.h>
#include    <stdlib.h>

int main()
{
    FILE *fin1 = fopen("Image1.bin", "rb");
    if(!fin1)
        return EXIT_FAILURE;

    FILE *fin2 = fopen("Image2.bin", "rb");
    if(!fin2)
    {
        fclose(fin1);
        return EXIT_FAILURE;
    }

    FILE *fout = fopen("Image_16.bin", "wb");
    if(!fout)
    {
        fclose(fin1);
        fclose(fin2);
        return EXIT_FAILURE;
    }

    while(!feof(fin1) && !feof(fin2))
    {
        fputc(fgetc(fin1), fout);
        fputc(fgetc(fin2), fout);
    }

    fclose(fin1);
    fclose(fin2);
    fclose(fout);
    return EXIT_SUCCESS;
}
Dibor
Спасибо .
Откомпилировал если бы мог.
Есть только VS2005 но оно ругается что нет "stdafx.h", когда делаю ему include , получаю кучу ошыбок.
Короче - дебил я.
Сергей Борщ
Цитата(Dibor @ Dec 12 2009, 17:36) *
оно ругается что нет "stdafx.h"
попробуйте так:
Код
#include    <stdio.h>

int main()
{
    FILE *fin1 = fopen("Image1.bin", "rb");
    if(!fin1)
        return -1;

    FILE *fin2 = fopen("Image2.bin", "rb");
    if(!fin2)
    {
        fclose(fin1);
        return -1;
    }

    FILE *fout = fopen("Image_16.bin", "wb");
    if(!fout)
    {
        fclose(fin1);
        fclose(fin2);
        return -1;
    }

    while(!feof(fin1) && !feof(fin2))
    {
        fputc(fgetc(fin1), fout);
        fputc(fgetc(fin2), fout);
    }

    fclose(fin1);
    fclose(fin2);
    fclose(fout);
    return 0;
}


Если не поможет - используйте утилиту SRecord. Прямо с заглавной страницы:
Цитата
split
The split filter may be used to split EPROM images for wide data buses or other memory striping schemes.

unsplit
The unsplit filter may be used to reverse the effects of the split filter.
Dibor
Спасибо.
С помощью SRecord получилось !!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.