Вопросы по программированию стенда SDK-2.0

Учебный лабораторный комплекс SDK-2.0 на базе микроконтроллера LPC2292 с ядром ARM7TDMI-S # CAN 2.0, RS-485, RS-232, Ethernet 10/100Base-TX, IEEE 802.15.4 (ZigBee)

Re: Утилиты для программирования стенда SDK-2.0

Сообщение Shico » 05 июн 2008, 02:45

Вот, например, программа, работающая с последовательныи каналом: читает один символ, а затем дважды отправляет его назад. То есть, если, например, в окне терминала Вы введете "12345", то увидите "1122334455".

Код: Выделить всё
#include <lpc2292.h>

/*-----------------------------------------------------------------------------
Чтение символа из последовательного канала
-----------------------------------------------------------------------------*/
unsigned char rsio0 ( void )
{   
    while ( ! ( U0LSR & 0x01 ) );
    return ( U0RBR );
}

/*-----------------------------------------------------------------------------
Запись символа в последовательный канал
-----------------------------------------------------------------------------*/
void wsio0( unsigned char c )
{
    while ( ! ( U0LSR & 0x20 ) );
    U0THR = c;
}

/*-----------------------------------------------------------------------------
Функция Main
-----------------------------------------------------------------------------*/
int main (void) 
{
    unsigned char ch;

    // Инициализация портов ввода-вывода микроконтроллера (переход в безопасное состояние)
    PINSEL0 = 0x80550055;
    PINSEL1 = 0x154540A8;
    PINSEL2 = 0x0D6149D4;

    IO0DIR = 0x011A7D05;
    IO1DIR = 0x00000000;
    IO2DIR = 0x003F0000;
    IO3DIR = 0xC0000000;

    IO0CLR = 0xFFFFFFFF;
    IO1CLR = 0xFFFFFFFF;
    IO2CLR = 0xFFFFFFFF;
    IO3CLR = 0xFFFFFFFF;

    IO0SET = 0x00000000;
    IO1SET = 0x00000000;
    IO2SET = 0x00000000;
    IO3SET = 0x00000000;

    // Инициализация UART 0 на скорости 9600 бод
    U0LCR   = 0x83;
    U0DLL   = 78;         // X = Fosc / (16 * 9600)
    U0DLM   = 0x00;
    U0LCR   = 0x03;       // DLAB = 0

    while ( 1 )
    {
        ch = rsio0();
        wsio0( ch );
        wsio0( ch );
    }
}                               

Попробуйте сначала соединить эту программу с программой управления линейкой светодиодов (выводите код символа, полученный из последовательного канала на светодиоды). А уже потом, постепенно, двигайтесь к более сложным устройствам (ЖКИ, Клавиатура). Кстати, после UART'а можете попробовать освоить звукоизлучатель (генерировать звук различной частоты с помощью прерываний от таймера).
"Раньше гусиными перьями писали вечные мысли, а теперь вечными перьями пишут гусиные мысли". В. Солоухин
Аватара пользователя
Shico
 
Сообщения: 301
Зарегистрирован: 06 апр 2008, 16:15
Откуда: Санкт-Петербург

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Shico » 06 июн 2008, 00:26

Чтобы посмотреть результат выполнения программы, работающей с последовательным каналом, например, SDK_2_0_UART_example_1, нужно:
  • Записать программу в стенд.
  • Указать в настройках терминальной программы M3P номер и скорость последовательного канала. Настройки находятся в файле terminal.m3p:
  • Код: Выделить всё
    9600 openchannel com1

    9600 - это скорость порта, com1 - это, собственно, номер порта.
  • Запустить терминальную программу (запустить файл terminal.bat).
  • Включить питание стенда.
  • В окне терминальной программы должна появиться надпись "Hello World".

Терминальную программу M3P можно взять здесь:
terminal.rar
Терминальная программа M3P.
(141.52 Кб) Скачиваний: 426
"Раньше гусиными перьями писали вечные мысли, а теперь вечными перьями пишут гусиные мысли". В. Солоухин
Аватара пользователя
Shico
 
Сообщения: 301
Зарегистрирован: 06 апр 2008, 16:15
Откуда: Санкт-Петербург

Re: Вопросы по программированию стенда SDK-2.0

Сообщение bmig » 19 июн 2008, 13:24

Спасибо всем кто помогал.
bmig
 
Сообщения: 10
Зарегистрирован: 15 май 2008, 10:42

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Shico » 19 июн 2008, 13:38

bmig писал(а):Спасибо всем кто помогал.

Спасибо за спасибо. :)
"Раньше гусиными перьями писали вечные мысли, а теперь вечными перьями пишут гусиные мысли". В. Солоухин
Аватара пользователя
Shico
 
Сообщения: 301
Зарегистрирован: 06 апр 2008, 16:15
Откуда: Санкт-Петербург

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Nick_Kourpan » 29 окт 2008, 21:03

Интересует, есть ли какие-то наработки для SDK-2.0 по следующим темам:
- реализация протокола ModBus;
- файловая система;
- драйверы ЖКИ для текстового вывода;

Будут интересны любые, даже недоделанные исходники=)
Nick_Kourpan
 
Сообщения: 15
Зарегистрирован: 11 апр 2008, 22:32

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Shico » 29 окт 2008, 23:14

Nick_Kourpan писал(а):Интересует, есть ли какие-то наработки для SDK-2.0 по следующим темам:
- реализация протокола ModBus;
- файловая система;
- драйверы ЖКИ для текстового вывода;

Modbus'а и текстового драйвера ЖКИ никто еще не делал. А файловую систему, кажется, кто-то из бакалавров весной делал.
"Раньше гусиными перьями писали вечные мысли, а теперь вечными перьями пишут гусиные мысли". В. Солоухин
Аватара пользователя
Shico
 
Сообщения: 301
Зарегистрирован: 06 апр 2008, 16:15
Откуда: Санкт-Петербург

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Nick_Kourpan » 30 окт 2008, 13:24

Ясно, спасибо!=)
А теперь... кто-то из бакалавров, откликнитесь!!=)
Nick_Kourpan
 
Сообщения: 15
Зарегистрирован: 11 апр 2008, 22:32

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 14:07

Nick_Kourpan писал(а):А теперь... кто-то из бакалавров, откликнитесь!!=)

Откликаюсь :smile:
Воопще я так и не успел до конца реализовать ФС, так как уже надо было писать бакалаврскую и сдавать ее.
Зато есть: теоретическая модель ФС, работающий модуль IAP, обеспечивающий запись во flash (там 256Кб минус загрузчик и что мы туда напихаем, а больше особо места на SDK 2.0 и нет).
http://194.85.162.173/viewvc/arm_try/iap_test
Вложения
Entering IAP mode for LPC devices.pdf
LPC IAP application notes
(36.66 Кб) Скачиваний: 920
fs_access_final.JPG
Пример работы ФС
fs_access_final.JPG (194.66 Кб) Просмотров: 12741
FS.doc
Теор. описание ФС
(240.5 Кб) Скачиваний: 556
Последний раз редактировалось invaisor 30 окт 2008, 19:00, всего редактировалось 1 раз.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Nick_Kourpan » 30 окт 2008, 14:18

Спасибо! Сколько там раз теоретически флеш может осилить перезаписи?=)
Nick_Kourpan
 
Сообщения: 15
Зарегистрирован: 11 апр 2008, 22:32

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 14:21

Nick_Kourpan писал(а):Спасибо! Сколько там раз теоретически флеш может осилить перезаписи?=)

Утверждается, что flash память способна выдержать как минимум 10000 циклов перезаписи на всем допустимом температурном интервале. Мне пока данный рекорд не покорился :smile:
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение kluchev » 30 окт 2008, 14:58

invaisor писал(а):Утверждается, что flash память способна выдержать как минимум 10000 циклов перезаписи на всем допустимом температурном интервале. Мне пока данный рекорд не покорился :smile:


No comments... :o
В споре рождается коллективное заблуждение, а истиной мы его называем для краткости
Аватара пользователя
kluchev
 
Сообщения: 995
Зарегистрирован: 04 апр 2008, 13:31
Откуда: SPb

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 15:58

kluchev писал(а):No comments... :o

Это была шутка :smile:
На самом деле это будет одной из самых больших проблем ФС, базирующейся на флеш-памяти :(
Хотя если так не принципиально, чтобы содержимое файловой системы оставалось и после отключения питания, то можно использовать SRAM (до 512 Кб).
Вообще все зависит от конкретных целей, т.е. для чего мы делаем эту ФС.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение kluchev » 30 окт 2008, 16:25

invaisor писал(а):Это была шутка :smile:


Не надо так шутить... Стенды дорогие и следующий раз фиг знает, когда можно будет себе позволить их купить...
В споре рождается коллективное заблуждение, а истиной мы его называем для краткости
Аватара пользователя
kluchev
 
Сообщения: 995
Зарегистрирован: 04 апр 2008, 13:31
Откуда: SPb

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 16:36

kluchev писал(а):Не надо так шутить... Стенды дорогие и следующий раз фиг знает, когда можно будет себе позволить их купить...

Был не прав, исправлюсь :oops:
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Nick_Kourpan » 30 окт 2008, 18:18

Хранить нам нужно будет весьма мало, так что флеш постараемся не добивать:))
Nick_Kourpan
 
Сообщения: 15
Зарегистрирован: 11 апр 2008, 22:32

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Соратник слонопотама » 30 окт 2008, 18:46

invaisor писал(а):
Nick_Kourpan писал(а):Спасибо! Сколько там раз теоретически флеш может осилить перезаписи?=)

Утверждается, что flash память способна выдержать как минимум 10000 циклов перезаписи на всем допустимом температурном интервале. Мне пока данный рекорд не покорился :smile:


конкретно в SDK-2 - 100000. вообще хорошая флэш-память выдерживает больше
Аватара пользователя
Соратник слонопотама
 
Сообщения: 250
Зарегистрирован: 16 апр 2008, 13:18

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 18:55

Соратник слонопотама писал(а):конкретно в SDK-2 - 100000. вообще хорошая флэш-память выдерживает больше

Действительно, в даташите сказано:
The LPC2292/LPC2294 flash memory provides a minimum of 100,000 erase/write cycles
and 20 years of data retention.

Тогда почему в User Manual по другому, на один нолик меньше :sorry: Обманывают нас :(
Кроме того
single flash sector or full chip erase in 400 ms and programming of 256 B in 1 ms.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение Соратник слонопотама » 30 окт 2008, 20:17

invaisor писал(а):
Соратник слонопотама писал(а):Тогда почему в User Manual по другому, на один нолик меньше :sorry: Обманывают нас :(
Кроме того
single flash sector or full chip erase in 400 ms and programming of 256 B in 1 ms.


10000 - подозрительно мало; скорее всего, опечатка. А что не так со временем стирания?
Аватара пользователя
Соратник слонопотама
 
Сообщения: 250
Зарегистрирован: 16 апр 2008, 13:18

Re: Вопросы по программированию стенда SDK-2.0

Сообщение invaisor » 30 окт 2008, 21:22

Соратник слонопотама писал(а):А что не так со временем стирания?

Я надаюсь, что все правильно.
Просто так, для информации привел.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Вопросы по программированию стенда SDK-2.0

Сообщение pavo_lusa » 03 ноя 2008, 21:30

Доброго времени суток...ребята мож объяснить, в примере led_line, что делают инструкция val<<=20; и инструкция return;
вот кусок кода:
void led_mode(unsigned int val)
{
val <<= 20;
if (val > 3) return;
IOCLR2 = 0x00300000;
IOSET2 |= val;
}

Спасибо большое!
pavo_lusa
 
Сообщения: 13
Зарегистрирован: 03 ноя 2008, 21:22

Пред.След.

Вернуться в SDK 2.0

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron