Перейти к содержанию
    

MicroBlaze для начинающих

делаю пример по описанию. ввиду полного отсутствия понимания принципов работы сдк, софт часть выполнялась в режиме обезьяны. платы для отладки нет. после всех манипуляций надо запустить моделирование. собственно вопрос - как правильно портировать назад в виваду все для этого необходимое? как я понимаю это должен быть элф-файл, в котором будет лежать все что нужно, включая содержимое внутренней памяти (подключенной по ЛМВ).

 

сейчас при запуске моделирования из вивады,  в памяти микроблейза лежит одна константа по нулевому адресу. сам микроблейз шарашит по кругу чтение инструкций по адресам 0-4-8. поиском по папке проекта находится несколкьо элф-файлов

1693066013_.thumb.png.d04a041877e8dea0a7564e03f4d355c0.png.

 

из папки .sdk:

Section Data:
.vectors.reset
[00000000] 00 00 00 b0 50 00 08 b8
.vectors.sw_exception
[00000000] 00 00 00 b0 00 0e 08 b8
.vectors.interrupt
[00000000] 00 00 00 b0 ac 11 08 b8
.vectors.hw_exception
[00000000] 00 00 00 b0 7c 03 08 b8
.text
[00000000] 00 00 00 b0 60 23 a0 31 00 00 00 b0 b8 20 40 30
[00000010] 00 00 00 b0 78 2f 20 30 00 00 00 b0 60 02 f4 b9
[00000020] 00 00 00 80 00 00 00 b0 6c 04 f4 b9 00 00 a3 30
[00000030] 00 00 00 b8 00 00 00 b0 60 23 a0 30 00 00 00 b0
.init
[00000000] f0 ff 21 30 00 08 e0 d9 ff ff 60 31 02 c8 0b 94
[00000010] 00 00 60 31 00 c8 0b 94 ff ff 00 b0 50 e6 f4 b9
[00000020] 00 00 00 80 ff ff 00 b0 d0 f1 f4 b9 00 00 00 80
[00000030] 00 08 e0 c9 08 00 0f b6 10 00 21 30
.fini
[00000000] f0 ff 21 30 00 08 e0 d9 ff ff 00 b0 44 e5 f4 b9
[00000010] 00 00 00 80 00 08 e0 c9 08 00 0f b6 10 00 21 30
.ctors
[00000000] ff ff ff ff 00 00 00 00
.dtors
[00000000] ff ff ff ff 00 00 00 00
.rodata
[00000000] 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 21 21 0a
[00000010] 0d 00 00 00 78 67 70 69 6f 2e 63 00 78 67 70 69
[00000020] 6f 5f 73 69 6e 69 74 2e 63 00 00 00 30 31 32 33
[00000030] 34 35 36 37 38 39 41 42 43 44 45 46 00 00 00 00
.data
[00000000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000010] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000020] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000030] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.sdata
.sbss
.debug_frame
[00000000] 0c 00 00 00 ff ff ff ff 03 00 01 7f 0f 0c 01 00
[00000010] 24 00 00 00 00 00 00 00 5c 0e 00 00 24 01 00 00
[00000020] 04 04 00 00 00 0e 28 04 08 00 00 00 8f 28 93 04
[00000030] 04 04 00 00 00 0d 13 00
.debug_info
[00000000] 48 0a 00 00 04 00 00 00 00 00 04 01 54 aa 00 00
[00000010] 0c 58 8e 00 00 79 76 00 00 00 00 00 00 00 00 00
[00000020] 00 00 00 00 00 00 00 00 00 02 01 06 ce c0 00 00
[00000030] 02 01 08 87 1d 00 00 02 02 05 76 53 00 00 02 02
.debug_abbrev
[00000000] 01 11 01 25 0e 13 0b 03 0e 1b 0e 55 17 11 01 10
[00000010] 17 99 42 17 00 00 02 24 00 0b 0b 3e 0b 03 0e 00
[00000020] 00 03 16 00 03 0e 3a 0b 3b 0b 39 0b 49 13 00 00
[00000030] 04 24 00 0b 0b 3e 0b 03 08 00 00 05 16 00 03 08
.debug_aranges
[00000000] 1c 00 00 00 02 00 00 00 00 00 04 00 00 00 00 00
[00000010] 5c 0e 00 00 24 01 00 00 00 00 00 00 00 00 00 00
[00000020] 1c 00 00 00 02 00 4c 0a 00 00 04 00 00 00 00 00
[00000030] 80 03 00 00 a8 00 00 00 00 00 00 00 00 00 00 00
.debug_ranges
[00000000] 5c 0e 00 00 80 0f 00 00 00 00 00 00 00 00 00 00
.debug_macro
[00000000] 04 00 02 00 00 00 00 07 c5 01 00 00 03 00 01 03
[00000010] 01 0c 07 4d 08 00 00 04 03 02 0b 05 7a 5c 2c 00
[00000020] 00 03 82 01 04 05 36 66 81 00 00 03 3c 0d 03 09
[00000030] 0e 05 0a 0f 62 00 00 03 0c 02 05 06 2e ad 00 00
.debug_line
[00000000] 5b 04 00 00 04 00 d3 03 00 00 01 01 01 f6 f2 0d
[00000010] 00 01 01 01 01 00 00 00 01 00 00 01 2e 2e 2f 2e
[00000020] 2e 2f 6d 69 63 72 6f 62 6c 61 7a 65 5f 6c 65 73
[00000030] 73 6f 6e 5f 31 5f 62 73 70 2f 6d 69 63 72 6f 62
.debug_str
[00000000] 5f 6f 6e 5f 65 78 69 74 5f 61 72 67 73 5f 70 74
[00000010] 72 00 58 50 41 52 5f 4d 49 43 52 4f 42 4c 41 5a
[00000020] 45 5f 4d 5f 41 58 49 5f 44 43 5f 45 58 43 4c 55
[00000030] 53 49 56 45 5f 41 43 43 45 53 53 20 30 00 49 6e
.symtab
[00000000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000010] 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00
[00000020] 00 00 00 00 08 00 00 00 00 00 00 00 03 00 02 00
[00000030] 00 00 00 00 10 00 00 00 00 00 00 00 03 00 03 00
.strtab
[00000000] 00 64 3a 2f 77 6f 72 6b 2f 73 6f 66 74 2f 76 69
[00000010] 76 61 64 6f 2f 32 30 31 39 2e 31 2f 73 64 6b 2f
[00000020] 32 30 31 39 2e 31 2f 67 6e 75 2f 6d 69 63 72 6f
[00000030] 62 6c 61 7a 65 2f 6e 74 2f 62 69 6e 2f 2e 2e 2f
.shstrtab
[00000000] 00 2e 73 79 6d 74 61 62 00 2e 73 74 72 74 61 62
[00000010] 00 2e 73 68 73 74 72 74 61 62 00 2e 76 65 63 74
[00000020] 6f 72 73 2e 72 65 73 65 74 00 2e 76 65 63 74 6f
[00000030] 72 73 2e 73 77 5f 65 78 63 65 70 74 69 6f 6e 00

Segment Data:
Segment # 0
[00000000] 00 00 00 b0 50 00 08 b8 00 00 00 b0 00 0e 08 b8
[00000010] 00 00 00 b0 ac 11 08 b8 00 00 00 00 00 00 00 00
[00000020] 00 00 00 b0 7c 03 08 b8
Segment # 1
[00000000] 00 00 00 b0 60 23 a0 31 00 00 00 b0 b8 20 40 30
[00000010] 00 00 00 b0 78 2f 20 30 00 00 00 b0 60 02 f4 b9
[00000020] 00 00 00 80 00 00 00 b0 6c 04 f4 b9 00 00 a3 30
[00000030] 00 00 00 b8 00 00 00 b0 60 23 a0 30 00 00 00 b0
Segment # 2
[00000000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000010] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000020] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000030] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

из папки .src:

Section Data:
.boot
[00000000] 00 00 00 b8
.text
.data
.shstrtab
[00000000] 00 2e 73 79 6d 74 61 62 00 2e 73 74 72 74 61 62
[00000010] 00 2e 73 68 73 74 72 74 61 62 00 2e 62 6f 6f 74
[00000020] 00 2e 74 65 78 74 00 2e 64 61 74 61 00 2e 62 73
[00000030] 73 00
.symtab
[00000000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[00000010] 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00
[00000020] 00 00 00 00 00 00 00 00 00 00 00 00 03 00 02 00
[00000030] 00 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00
.strtab
[00000000] 00 5f 62 6f 6f 74 00

Segment Data:
Segment # 0
Segment # 1
Segment # 2
[00000000] 00 00 00 b8

 

собственно при моделировании по нулевому адресу в памяти лежит только значение "b8000000", остальное нули

 

и как я понимаю - подсосался не тот файл...

 

 

зы

есть ли в природе русскоязычные обучалки по СДК? сейчас стоит вопрос по последовательности действий при дебаге без платы, и интересно посмотреть на сишный код, сконвертированный в команды микроблейза

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А какая у вас цель? Ближняя и дальняя. Чему именно вы хотите научиться?

Приведенная статья вроде как неплохо написана для новичков. В чем, собственно, ваш вопрос/проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, Raven сказал:

А какая у вас цель? Ближняя и дальняя. Чему именно вы хотите научиться?

Приведенная статья вроде как неплохо написана для новичков. В чем, собственно, ваш вопрос/проблема?

вопросы вроде задал - как отдебажить С-код без платы, почему не идет моделирование. цели - научиться работать с МБ. статья шикарна - более подробных и четких описаний я еще не видел. косяк в том, что HW часть и так не проблема, а SW часть не вполне соответствует исходным задачам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, GAYVER said:

косяк в том, что HW часть и так не проблема, а SW часть не вполне соответствует исходным задачам

В чем несоответствие? И даже если так - просто повторите то, что в статье, добейтесь полного понимания того, что там делают. И уже только после этого начинайте маленькими шагами менять что-то и смотреть реакцию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Quote

 статья шикарна - более подробных и четких описаний я еще не видел.

Спасибо. Я старался

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...