Новая версия NedoPC-90.AVROS

8-битные микроконтроллеры AVR (AT90, ATtiny, ATmega) от Atmel (в настоящий момент принадлежит Microchip)

Moderator: Shaos

SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Выкладываю новую версию NedoPC-90.AVROS (c поддержкой WP1602).

http://www.nedopc.org/nedopc/upload/Ned ... ed.tar.bz2

И небольшую статейку по его применению.

http://www.nedopc.org/nedopc/upload/WP1 ... OS.tar.bz2
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:Выкладываю новую версию NedoPC-90.AVROS (c поддержкой WP1602).

http://www.nedopc.org/nedopc/upload/Ned ... ed.tar.bz2

И небольшую статейку по его применению.

http://www.nedopc.org/nedopc/upload/WP1 ... OS.tar.bz2
Предыдущая версия вроде называлась NedoPC-90.AVROS.v0.1.2?
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:
SfS wrote:Выкладываю новую версию NedoPC-90.AVROS (c поддержкой WP1602).

http://www.nedopc.org/nedopc/upload/Ned ... ed.tar.bz2

И небольшую статейку по его применению.

http://www.nedopc.org/nedopc/upload/WP1 ... OS.tar.bz2
Предыдущая версия вроде называлась NedoPC-90.AVROS.v0.1.2?
В принципе да :) Надо както систему нумерации версий ввести - я пока с этим не определился. Хотя конечно логично, что у каждой последующей - номер должен быть больше...

Наверное сделаю так - эту версию (она на самом деле последняя ) переименую в NedoPC-90.AVROS.v0.1.3 и уже не буду попирать логику :)

http://www.nedopc.org/nedopc/upload/Ned ... .3.tar.bz2

Вот так ! :)
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote: Наверное сделаю так - эту версию (она на самом деле последняя ) переименую в NedoPC-90.AVROS.v0.1.3 и уже не буду попирать логику :)

http://www.nedopc.org/nedopc/upload/Ned ... .3.tar.bz2

Вот так ! :)
Ok - качну
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
SfS wrote: Наверное сделаю так - эту версию (она на самом деле последняя ) переименую в NedoPC-90.AVROS.v0.1.3 и уже не буду попирать логику :)

http://www.nedopc.org/nedopc/upload/Ned ... .3.tar.bz2

Вот так ! :)
Ok - качну
Вобщем после начала общения с системой - вопросы :)

Вот задаю я запуск разных задач по графику времен на разных уровнях - чем принципиально отличаются /upl/rtl_mac.h, rtl/hl_mac.h и osl/rtl_mac.h?

Если конец одной задачи заползает на начало другой, она прервется? Или это зависит от уровня задачи, которая должна будет выполнится в этот момент?

Насколко сложно написать повторялку-терминалку через COM-порт? Т.е. с компа пишется строка - девайс ее принимает и отправляет обратно.
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: Вобщем после начала общения с системой - вопросы :)
Прекрасно. :)
Shaos wrote: Вот задаю я запуск разных задач по графику времен на разных уровнях - чем принципиально отличаются /upl/rtl_mac.h, rtl/hl_mac.h и osl/rtl_mac.h?
Почти ничем, это введено скорее для удобства. НО! В файле /upl/rtl_mac.h есть макросы типа T_INT_MAX_xx, которые вешают на прерывание процедуру, которая вызывыается с максимальной частотой (обычно - 1/256) тактовой. Минимальная же дискретность других уровней - 100мс.
Shaos wrote: Если конец одной задачи заползает на начало другой, она прервется? Или это зависит от уровня задачи, которая должна будет выполнится в этот момент?
Нет. Задачи одинаковые, по периоду вызова - равноправны. Но сущестыует защита от повторного вхождения. И еще - более быстрые задачи прерывают более медленные.
Shaos wrote: Насколко сложно написать повторялку-терминалку через COM-порт? Т.е. с компа пишется строка - девайс ее принимает и отправляет обратно.
Не сложно. Надо отредактировать два файла.

Файл ../systrm/res_uart.h

Code: Select all

//----------------------------------------------------------------------
// MODEULE: res_uart.h
// COMMON DESCRIPTION:
//   This module contain declaration for internal UART
//----------------------------------------------------------------------
// UART0 definitions
#define UART0_ENABLED
//----------------------------------------------------------------------
#ifdef  UART0_ENABLED
//----------------------------------------------------------------------
// If defined UART_SPD_CONST, speed can't changed, else speed may be
// changed with void uart0_setspeed(unsigned int speed); speed - in Bits/s
#define UART_SPD_CONST   9600 /* Скорость ком-портов */
// If defined UART_BUFFERS_ENABLED input and output used buffers
#define UART_BUFFERS_ENABLED /* Разрешить буферизацию*/
// Buffer length (only if defined UART_BUFFERS_ENABLED, else do nothig)
#define UART_BUFFERS_LEN 0x10 /* Длина буфера */
// Uart Strings Support
#define UART_STR_ENABLED /* Разрешить процедуры работы со строками*/
//----------------------------------------------------------------------
#endif /* UART0_ENABLED */
//----------------------------------------------------------------------
Файл ../upl/main.c

Code: Select all

//----------------------------------------------------------------------
// Main program
//----------------------------------------------------------------------
unsigned char c;
//----------------------------------------------------------------------
// Main progam
int main()
  {AUTOINIT_ALL_MODULES();
   // 
   while(1)
     {if(uart0_rd(&c){(uart0_wr(&c)}
     }
   //
   return(0);
  }
//----------------------------------------------------------------------
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вставил в прошлый пост теги "code"

Может логичнее разрешательные дефайны типа #define UART0_ENABLED через Makefile включать? Как ключи компиляции - например -DUART0_ENABLED
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:Вставил в прошлый пост теги "code"

Может логичнее разрешательные дефайны типа #define UART0_ENABLED через Makefile включать? Как ключи компиляции - например -DUART0_ENABLED
Я об этом думал. Но их очень много. Там ведь по сути вся система в монолитный файл собирается через эти самые дефайны. А так - хоть какаято систематизация через каталог system и файлы вида res_*.h.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
Shaos wrote:Вставил в прошлый пост теги "code"

Может логичнее разрешательные дефайны типа #define UART0_ENABLED через Makefile включать? Как ключи компиляции - например -DUART0_ENABLED
Я об этом думал. Но их очень много. Там ведь по сути вся система в монолитный файл собирается через эти самые дефайны. А так - хоть какаято систематизация через каталог system и файлы вида res_*.h.
Много - не страшно! Главное чтобы из одного места настраивались, а исходники оськи надо бы оставлять нередактируемыми по мере возможности ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: Много - не страшно! Главное чтобы из одного места настраивались, а исходники оськи надо бы оставлять нередактируемыми по мере возможности ;)
Так они и остаются нередактируемыми. Все что редактируется - это каталог ../upl пользователя и каталог конфигурации ../system.

Представь что будет если я все вынесу в Makefile:

Открываешь громадный файл и начинаешь там искать то, что надо. Ну, положим, тебе не страшно - ты опытный индеец и в мэйках и корнфигах часто лазаешь. :) А кто-нибудь не очень сведущий - просто испугаться может. По себе знаю - я раньше тоже боялся длинных непонятных файлов.

А так как есть - открываешь каталог конфигурации, ищешь нужный файл, скажем ../system/res_usart.h.
И редактируешь в нем одну-две строки (скажем разрешаешь USART и задаешь скорость). И искать быстрее, и не нарушишь случайно чего не надо.

А вообще - я еще подумаю. Может как-нибудь подругому конфигурировать буду. Как чего надумаю - нарисую.

USART запустился ? И с тактированием разобрался ?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:USART запустился ? И с тактированием разобрался ?
Пока нет. Пусть для начала поработает на 1 МГц :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:
SfS wrote:USART запустился ? И с тактированием разобрался ?
Пока нет. Пусть для начала поработает на 1 МГц :)
И еще вопрос - на атмеге8535 система без переделок запустилась ?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
Shaos wrote:
SfS wrote:USART запустился ? И с тактированием разобрался ?
Пока нет. Пусть для начала поработает на 1 МГц :)
И еще вопрос - на атмеге8535 система без переделок запустилась ?
Да - причем собирал я под AT90S8535, так как моя сборка gcc-avr не знала что такое "atmega8535".
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote: А так как есть - открываешь каталог конфигурации, ищешь нужный файл, скажем ../system/res_usart.h.
И редактируешь в нем одну-две строки (скажем разрешаешь USART и задаешь скорость). И искать быстрее, и не нарушишь случайно чего не надо.
Можно сделать один общий файл, например system/defs.h в котором будут написаны все разрешающие дефайны (закомментированные и раскомментированные), который будет инклудиться в каждый файл каталога system - в нем же можно будет обрабатывать условные варианты, типа для индикатора нужен NI-15 и т.д.
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: Да - причем собирал я под AT90S8535, так как моя сборка gcc-avr не знала что такое "atmega8535".
Я брал avr-glibc на altlinux.com. Там есть инклуды для меги8535.