vak: (Default)
[personal profile] vak
Наконец-то допинал перенос uOS на платы Uno32 и Max32.  Померял время переключения задач и время входа в обработчик прерывания - получилось соответственно 2.13 мксек и 0.90 мксек.  Вполне неплохо.

Date: 2012-11-16 16:13 (UTC)
From: [identity profile] 1i7.livejournal.com
Лампочки все равно не мигают - попробовал из нового примера - заменил в мейкфайле:

TEST = test-leds

сделал make load (avrdude зали test-leds.hex) - LD4 (13й пин на плате) просто горит, хотя должен мигать.

Моя отдельная программа (светодиод на 6м пине):

#include
[Error: Irreparable invalid markup ('<runtime/lib.h>') in entry. Owner must fix manually. Raw contents below.]

Лампочки все равно не мигают - попробовал из нового примера - заменил в мейкфайле:

TEST = test-leds

сделал make load (avrdude зали test-leds.hex) - LD4 (13й пин на плате) просто горит, хотя должен мигать.

Моя отдельная программа (светодиод на 6м пине):

#include <runtime/lib.h>
#include <kernel/uos.h>

char stack [400];

void hello (void *data) {

//PORTDSET = 1 << 2;

for (;;) {
PORTDINV = 1 << 2;
mdelay (100);
}
}

void uos_init (void) {
TRISDCLR = 1 << 2;
task_create(hello, 0, "hello", 1, (array_t*)stack, sizeof (stack));
}

Тоже не работает - диод просто не горит. Но LD4 на плате уже с ума не сходит как раньше.

Date: 2012-11-18 12:38 (UTC)
From: [identity profile] 1i7.livejournal.com
Спасибо, заработало! Мой вариант с созданием таски и миганием лампочкой внутри нее тоже.

Перепрошивка сопровождается 2мя таймаутами - первый раз перед началом:

/opt/mpide/hardware/tools/avrdude -C /opt/mpide/hardware/tools/avrdude.conf -P /dev/ttyUSB0 -c stk500v2 -p pic32 -b 115200 -v -U flash:w:test-leds.hex:i

avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "/opt/mpide/hardware/tools/avrdude.conf"
User configuration file is "/home/benderamp/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyUSB0
Using Programmer : stk500v2
Overriding Baud Rate : 115200
avrdude: stk500_2_ReceiveMessage(): timeout


В этот момент нужно нажать кнопку reset на плате - процесс почти сразу продолжится. Второй раз как уже было выше - в конце - программа начинает работать, нужно просто нажать ctrl+c.