Неудовлетворительное сопровождение стенда

Учебный лабораторный комплекс SDK-1.1 на базе микроконтроллера ADuC812 с ядром MCS51 # RS-232C, I2C

Неудовлетворительное сопровождение стенда

Сообщение Рустам » 21 июл 2008, 01:54

В прошедшем семестре мои студенты занимались с контроллерами SDK-1.1. Они и до этого занимались с ними (предыдущие года обучения), но в этом году многое поменялось. К концу семестра накопилось много негатива из-за проблем применения контроллера SDK-1.1 в образовательных целях с текущим его сопровождением. Конечно, есть другие мнения о том, что это совсем не проблемы, а такая форма обучения. Но у меня собственное мнение.

Проблема №1 - Плохое руководство пользователя.
Насколько я помню, руководство пользователя не меняется уже 8-10 лет. По мелочи вносятся исправления, но концепция остается прежней. Выделим основное:
1. Руководство нельзя читать последовательно. Нужно прыгать по тексту.
2. Информация устарела. Это касается инструментальных средств. Мы их не используем в учебном процессе. О новых инструментальных средствах там ничего нет.
3. Перевод документации на периферийные устройства содержит ошибки и дублируется. Например, 2 варианта I2C.
Что нужно делать: переписать руководство пользователя.

Проблема №2 - Библиотечные функции.
Выделим основное:
1. Была переделана функция SetVector. Не знаю, зачем в таблице векторов прерываний поменялся порядок байт в адресе обработчика, но в документации это не отражено. Что нужно сделать: исправить руководство пользователя.
2. Встроенный загрузчик меняет состояние некоторых регистров ПЛИС. А именно, регистра ENA. Этот регистр нельзя читать, поэтому текущее состояние его узнать невозможно. В результате, не работает один из DIP-переключателей, если не сделать явной инициализации регистра ENA. Значение OnReset, приведенное в руководстве пользователя, неверное. Что нужно сделать: исправить загрузчик или документацию.
3. Тела функций WriteMax и ReadMax устарели. Есть новый компилятор и в нем можно указывать, где хранить аргументы и локальные переменные функций. Поэтому нет необходимости делать эти функции именно такими, как они описаны. Фрагмент адресного пространства, куда отображены регистры ПЛИС, начинается с адреса 0x80000. Этот адрес не нужно передавать в функцию полностью, потому что на самом деле передаются 2 байта, а "восьмерка" не используется и устанавливается программно. Тут можно передавать адрес 0x80000, 80000, 0 - все эти адреса будут работать одинаково.
Что нужно делать: упростить функции WriteMax/ReadMax и больше внимания уделять изучению адресного пространства.

Проблема №3 - компилятор.
О да, компилятор SDCC преподнес много сюрпризов. В зависимости от сложности программы рано или поздно придется заглянуть в руководство по использованию компилятора. В случае компилятора SDCC заглядывать нужно как только добираешься до прерываний. И совсем не для того, чтобы узнать синтаксис описания обработчика прерывания, а чтобы узнать принципы генерации кода SDCC. Когда программа не работает, начинаешь искать ошибку: ищешь ошибку в алгоритме, в работе с периферией, в инициализации и др. Подозревать компилятор в неправильной генерации кода - это последний вариант. И он как раз про SDCC. Его код не неправильный, а неожиданный. Он генерирует нереентерабельные функции и даже не предупреждает об этом, как, например, PICC. Некоторые мои студенты потратили более месяца на то, чтобы отловить это. Ну ладно, функции, вызываемые и в основной программе, и в прерывании можно обнаружить и объявить с соответствующими ключами. Так ведь программы пишут с использованием не только 8-битных данных. А это добавляет в код встроенные функции, реализующие требуемую функциональность программно. Например, 16-битное умножение. И эти функции тоже нереентерабельные. Что же это получается? Появляются функции, которых я не писал, о существовании которых я не знаю и не знаю, где они используются, но из-за них программа ведет себя очень странно. Самое время разувериться в работоспособности стенда SDK-1.1. Вот это полная подстава. По моему плану студенты доходят до изучения прерываний на 3-ей лабораторной работе. В этом месте им нужно изучить генерацию кода компилятором SDCC, изучить MAP-файл, LST-файл, сделать кучу экспериментов и сопоставить их кодогенерацию. Ключ -stack-auto всех спасет. Я его нашел за 2 часа, разбираясь с чужой программой, но перекладывать всю эту головную боль на студента считаю слишком жестоким. Неплохо обучать студента и таким вещам, но по-другому. Например, заданием одной из лабораторных работ будет оптимизация ранее написанной программы.
Что нужно делать: либо сменить компилятор, либо в "стартовом" примере Simple в командной строке указывать ключ -stack-auto, чтобы эта неожиданность не возникла никогда.

Надеюсь, кому-нибудь эта информация будет полезной.
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 21 июл 2008, 10:38

Рустам писал(а):Надеюсь, кому-нибудь эта информация будет полезной.


Кто мешал тебе заглянуть в EmbeddedWiki над которым мы работаем? Там как раз то, что ты хочешь. Если есть энтузиазм что-то дописывать - добро пожаловать.
В споре рождается коллективное заблуждение, а истиной мы его называем для краткости
Аватара пользователя
kluchev
 
Сообщения: 995
Зарегистрирован: 04 апр 2008, 13:31
Откуда: SPb

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 21 июл 2008, 12:02

kluchev писал(а):Кто мешал тебе заглянуть в EmbeddedWiki над которым мы работаем? Там как раз то, что ты хочешь. Если есть энтузиазм что-то дописывать - добро пожаловать.

Мне еще говорили, что нужно прочитать описание к какой-то лабораторной работе по какому-то курсу, в котором описаны всякие тонкости настройки прерываний. У меня свой курс лекций и лабораторных работ. Моим студентам нет надобности читать задания на лабораторные работы от других курсов. им должно хватать моих заданий и руководства пользователя. По факту получается, что не хватает. Руководство мы отдаем студентам и заказчикам, а Вики - это поддержка на сайте. Нельзя первое заменять вторым.
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 21 июл 2008, 13:45

Рустам писал(а):По факту получается, что не хватает. Руководство мы отдаем студентам и заказчикам, а Вики - это поддержка на сайте. Нельзя первое заменять вторым.


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

Re: Неудовлетворительное сопровождение стенда

Сообщение MIX@ » 24 июл 2008, 03:48

2Рустам
Я не по наслышке знаком с "особенностями" SDK-1.1 поэтому прекрасно понимаю о чём вы говорите и сам стараюсь отображать подводные камни в EmbeddedWiki, чего искренне желаю вам и вашим студентам. Согласитесь, что одних разговоров явно недостаточно для преодоления проблемы, при условии, что участников создающих контент для Wiki сейчас - крайне мало, а на создание качественного контента уходит масса времени.
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 29 июл 2008, 01:05

MIX@ писал(а):Я не по наслышке знаком с "особенностями" SDK-1.1 поэтому прекрасно понимаю о чём вы говорите и сам стараюсь отображать подводные камни в EmbeddedWiki, чего искренне желаю вам и вашим студентам.

А я вот плохо знаком с SDK-1.1. Это я сам считаю, что плохо знаком. Также я считаю, что плохо программирую на С++, но это другая песня. Я плохо знаю контроллер SDK-1.1, потому что в процессе обучения возникают ситуации, когда я не могу ответить студентам на их вопрос или направить их в нужном направлении.
MIX@ писал(а):Согласитесь, что одних разговоров явно недостаточно для преодоления проблемы, при условии, что участников создающих контент для Wiki сейчас - крайне мало, а на создание качественного контента уходит масса времени.

Я не уверен, что после "копипастенья" может получиться качественный продукт. Я сразу вспоминаю подборку статей научпопа "Тайны 21 века". Я уже излагал свои взгляды по поводу оформления и подготовки документов - они трудоемкие и старомодные.
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 06 авг 2008, 20:50

Рустам писал(а):Я не уверен, что после "копипастенья" может получиться качественный продукт. Я сразу вспоминаю подборку статей научпопа "Тайны 21 века". Я уже излагал свои взгляды по поводу оформления и подготовки документов - они трудоемкие и старомодные.



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

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 08 авг 2008, 01:21

kluchev писал(а):Так кто тебе мешает - флаг в руки, садись и пиши. Говорить о том как все плохо - научились все, только дела реального от этих говорильщиков не видно что-то...

Когда мне было нужно, я молча сел и написал буклет по учебным лабораторным стендам. Никого не спрашивал и ни с кем не советовался. Это было нужно мне. Потом показал Платунову. Это было незадолго до выставки. Идея понравилась, но еще более ему приглянулась идея аналогичного буклета, но по РИУСам. Тут пришлось попотеть побольше и покопипастить, т.к. времени осталось мало, а объем был больше. В итоге, я хотел сделать буклеты, я их сделал. В какой-то момент я хотел переписать руководство пользователя на SDK-1.1, но дело незаладилось с самого начала и я бросил.
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 08 авг 2008, 13:29

Рустам писал(а):Когда мне было нужно, я молча сел и написал буклет по учебным лабораторным стендам. Никого не спрашивал и ни с кем не советовался. Это было нужно мне. Потом показал Платунову. Это было незадолго до выставки. Идея понравилась, но еще более ему приглянулась идея аналогичного буклета, но по РИУСам. Тут пришлось попотеть побольше и покопипастить, т.к. времени осталось мало, а объем был больше. В итоге, я хотел сделать буклеты, я их сделал. В какой-то момент я хотел переписать руководство пользователя на SDK-1.1, но дело незаладилось с самого начала и я бросил.


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

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 08 авг 2008, 16:29

kluchev писал(а):Сейчас вот тоже, документацию по SDK делаем.

Ну и какое состояние дел? Сколько процентов текста готово?
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 08 авг 2008, 21:49

Рустам писал(а):Ну и какое состояние дел? Сколько процентов текста готово?


Загляни в EmbeddedWiki да посмотри. А по поводу процентов вопрос не очень корректный, так как верхней планки по объему материала в EmbeddedWiki никто не ставил. Если говорить о SDK-1.1, то в абсолютном выражении объем полезного материала, который можно использовать при преподавании курсов использующих этот стенд вырос раза в два, как минимум.

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

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

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 09 авг 2008, 01:10

kluchev писал(а):Загляни в EmbeddedWiki да посмотри.

Я наверное тупой, но я не смог туда зайти.
kluchev писал(а):А по поводу процентов вопрос не очень корректный, так как верхней планки по объему материала в EmbeddedWiki никто не ставил. Если говорить о SDK-1.1, то в абсолютном выражении объем полезного материала, который можно использовать при преподавании курсов использующих этот стенд вырос раза в два, как минимум.

Я не считаю EmbeddedWiki заменой документации. Есть форум, есть поддержка, а есть руководство пользователя, руководство по эксплуатации и другие категории документов. Когда мы отдаем заказчику SDK-1.1, мы можем его послать на... EmbeddedWiki, но я предпочел бы отдать ему документацию. К тому же мне периодически говорят о том, что с удивительной легкостью можно статьи из EmbeddeWiki собрать и получить готовый документ. Эдакую компиляцию. Ни одной такой компиляции я пока не видел. Поэтому и спрашиваю: когда она появится, чтобы ее можно было отдавать заказчикам.

kluchev писал(а):Потом, по мере необходимости из материалов EmbeddedWiki можно будет комплектовать методические материалы и учебные пособия.

Каков прогноз? Когда потом?
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 09 авг 2008, 02:17

Рустам писал(а):Я наверное тупой, но я не смог туда зайти.


Да уж, не без этого... Пароль, логин и свой e-mail (для подтверждения регистрации) закинь мне в личку, я завтра попробую тебя зарегистрировать, если интернет будет работать.

Ты с Динарой на эту тему вообще не общался что-ли? Она туда уже кучу статей наваяла. Доступ на запись только для специалистов, чтение для всех вообще временно прикрыто, до особого распоряжений начальства. Пока книжки в печать не выйдут, видимо.

Я не считаю EmbeddedWiki заменой документации. Есть форум, есть поддержка, а есть руководство пользователя, руководство по эксплуатации и другие категории документов. Когда мы отдаем заказчику SDK-1.1, мы можем его послать на... EmbeddedWiki, но я предпочел бы отдать ему документацию. К тому же мне периодически говорят о том, что с удивительной легкостью можно статьи из EmbeddeWiki собрать и получить готовый документ. Эдакую компиляцию. Ни одной такой компиляции я пока не видел. Поэтому и спрашиваю: когда она появится, чтобы ее можно было отдавать заказчикам.
...
Каков прогноз? Когда потом?


Рассматривай эту штуку как некий многопользовательский текстовый редактор с Web интерфейсом. Компиляцию можешь сделать сам в любой момент, набрав необходимый тебе материал, это у тебя займет пару часов. Материала нового много довольно, в частности есть глоссарий терминов, описание SDCC (раньше такого не было). Прелесть в том, что если ты исправишь ошибку, то все, кто будет делать компиляцию пособий после тебя получат исправленую и дополненную версию.

Разметка формул как в LaTex, текста - проще чем в HTML. Есть конвертер из OpenOffice в формат Wiki. Осваивается за день спокойно.

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

Re: Неудовлетворительное сопровождение стенда

Сообщение Рустам » 09 авг 2008, 02:23

kluchev писал(а):Пароль, логин и свой e-mail (для подтверждения регистрации) закинь мне в личку, я завтра попробую тебя зарегистрировать, если интернет будет работать.

А говорил, что пойди посмотри. Тут перед тем, как "пойди" нужно еще столько телодвижений сделать :shock: Позже закину. Сейчас спать хочется :mrgreen:

Таким образом сейчас скомпилировно несколько учебных пособий по полторы сотен страниц каждое и штук 10 методичек в рамках инновационной программы.

Где их можно увидеть?
Аватара пользователя
Рустам
 
Сообщения: 164
Зарегистрирован: 27 май 2008, 01:24

Re: Неудовлетворительное сопровождение стенда

Сообщение kluchev » 09 авг 2008, 17:55

Рустам писал(а):Где их можно увидеть?


Текущий вариант на NEW_RTG, J:\KAO\IP_2008

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


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

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

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