|
asm исходники для отладочной платы str912-sk, где взять? |
|
|
|
Dec 28 2007, 10:21
|
Группа: Участник
Сообщений: 14
Регистрация: 28-12-07
Пользователь №: 33 700

|
Доброго времени суток и с наступающими праздниками. Прошу по возможности оказать содействие в следующей проблеме. Приобретена отладочная плата str912-sk (на основе процессора STR912FA W44X6), софт IAR Embedded Workbench 4.0. после включения все вроде работает, удается запускать исходники, идущие в комплекте к софту и проделывающие на плате разные трюки - от простого вывода на порт светодиодов до примеров работы с остальной периферией. но вся беда в том что они написаны на СИ, а на ассемблере нету ни одного. Если кто имел дело с такой платой - прошу поделиться кусками написанных прогамм, а то ведь вообще ппц - начинать не с чего, негде взять образец ЛЮБОЙ работающей программы на ассм, чтобы увидеть как там заголовок идет и чем кончается))). Интересует простейшая программа - выдача в бесконечном цикле инкремента байта в порт GPIO3 (там светодиоды). Спасибо за внимание.
|
|
|
|
|
 |
Ответов
|
Jan 14 2008, 08:23
|
Группа: Участник
Сообщений: 14
Регистрация: 28-12-07
Пользователь №: 33 700

|
спасибо за ответы) значит будем потихоньку переходить на С возник еще вопрос: на STR912 пытаюсь настроить GPIO3 на вывод и прописать в него константу, для этого был создан следующий шэдэвр
NAME main PUBLIC main COMMON INTVEC:CODE CODE32 B main RSEG ICODE:CODE mdd1 dc32 0x4c002050 //(адрес регистра SCU_GPIOOUT3) mdd2 dc32 0x48009400 //(адрес регистра GPIO_DIR) mdd3 dc32 0x480093fc //(адрес GPIO_DATA, в котором задана маска 11111111)
CODE32 main nop nop nop nop
//GPIO data direction register ( 1: Output) ldr r0,mdd2 mov r1,#0xff strb r1,[r0] nop
//GPIO output register (SCU_GPIOOUTn) set 01: Alternate Output 1 (general purpose output) ldr r0,mdd1 mov r1, #0x55 strb r1,[r0] strb r1,[r0,#1]
//GPIO data register (GPIO_DATA)
ldr r0,mdd3 mov r1, #0x0f strb r1,[r0]
main1 B main1 END main
в общем он не работает((( по даташиту описана процедура настройки порта на вывод: нужно настроить порт на вывод, определить Alternate Function 1 (output from GPIO_DATA register) и собственно послать выводимый байт по адресу, биты 9:2 которого содержат маску. это и проделано в программе. что не так?
|
|
|
|
|
Jan 14 2008, 11:31
|

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

|
Цитата(s868 @ Jan 14 2008, 10:23)  что не так? В используемом вами пакете есть симулятор (иконка с зеленой лупой). Вы можете самостоятельно пройти ваш код по шагам и в соответствующих окнах (View->Register) увидеть - в какие регистры что записывает ваша программа. Дальше медитировать над исходным текстом, если пишется не то или не туда. По вашему словесному описанию: Код #include <iostr912.h> int main() { SCU_GPIOOUT3 = 0x5555; // I/O GPIO3_DIR = 0xFF; // output GPIO3_DATA = 0x0F; // write constant for(;;) ; } Сравнивайте сложноcть исходного текста Если будете продолжать на ассемблере - включите в начале исходника заголовочный файл iostr912.h, в нем описаны имена всех регистров.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 14 2008, 12:28
|
Группа: Участник
Сообщений: 14
Регистрация: 28-12-07
Пользователь №: 33 700

|
Сэр Сергей Борщ, благодарю за советы. К сожелению написаный фрагмент тоже не работает нужным образом( судя по всему алгоритм инициализации порта неправильный(( вроде все делается согласно даташиту, но порт на вывод не удается настроить
|
|
|
|
Сообщений в этой теме
s868 asm исходники для отладочной платы str912-sk Dec 28 2007, 10:21 Dron_Gus АСМ, по ряду причин, не пользуется особой популярн... Dec 28 2007, 11:20    Сергей Борщ Цитата(s868 @ Jan 14 2008, 14:28) К сожел... Jan 14 2008, 13:44     s868 спасибо, ребята. Jan 14 2008, 14:20 Dron_Gus Порт для начала надо включить. Jan 14 2008, 13:36 s868 как?) какой регистр за это отвечает? Jan 14 2008, 13:40 Dron_Gus Смотрите Peripheral clock gating register 1 (SCU_P... Jan 14 2008, 13:43 s868 действительно не хватало включить перифирию, проце... Jan 15 2008, 15:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|