Jump to content

    

Recommended Posts

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

 

сейчас при запуске моделирования из вивады,  в памяти микроблейза лежит одна константа по нулевому адресу. сам микроблейз шарашит по кругу чтение инструкций по адресам 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", остальное нули

 

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

 

 

зы

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

 

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
10 часов назад, Raven сказал:

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

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

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

Share this post


Link to post
Share on other sites
10 hours ago, GAYVER said:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.