реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите обьеденить два 8-битных имиджа ROM в один 16-битный, Для дезасемблинга Motorola 68000
Dibor
сообщение Dec 12 2009, 13:41
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042



Добрый день.
Объясните пожалуйста тупому.

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

Заранее спасибо.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 12 2009, 14:07
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(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;
}


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Dibor
сообщение Dec 12 2009, 15:36
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042



Спасибо .
Откомпилировал если бы мог.
Есть только VS2005 но оно ругается что нет "stdafx.h", когда делаю ему include , получаю кучу ошыбок.
Короче - дебил я.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 12 2009, 15:53
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(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.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Dibor
сообщение Dec 12 2009, 21:36
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042



Спасибо.
С помощью SRecord получилось !!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016