Перейти к содержанию
    

Сквозная система разрабоки embedded устройств

Я давно мечтаю организовать сквозной цикл разработки:

 

* симулятор - для полностью виртуальной отладки

- симулятор всего камня, а не только инструкций процессора

- удаленные аутсорсеры

- когда идет проработка струкуры и логики - железо только мешает

* многофукциональная отладочная плата

- проверять софт на железе, пока делается целевая плата

* целевая плата

 

Это делается в коммерческих системах типа KEIL, IAR. Но возникает вопрос ОСи.

 

uCOS, ARTX - это хорошо, но все-таки для маленьких проектов. Суровую системщину хочется делать под чем-то более серьезным. Есть ровно 3 варианта:

* eCos

* RTEMS

* Linux.

 

Линух все-таки тяжел и могуч, посему оставим его в покое, а вот первые два очень интересны. На чем же их симулировать?

 

****************** Симулятор *********************

 

Копаясь в листе RTEMS, выловил такие сообщения:

===

23 дек 2005

Re: edb7312 and SkyeEye followup - SUCCESS

I've tried my own old build of RTEMS-4.7 (from around September I guess)

demos (hello world) with your skyeye config file and I can confirm that

skyeye really aborts. Anyway, I have arm-elf-insight installed so I

decided to give a try to skyeye debug capability and run skyeye in debug

mode and connect insight to it. I've set breakpoint on

BSP_rtems_irq_mngt_init just to see that skyeye will abort really on

*INTMR3 = 0.

 

Well, what was my surprise to see that I've gone ok thorough this code and

continued into deep RTEMS internals? The second surprise was that when

I've given up debugging and just push it to `continue' expecting skyeye

aborting somewhere else, it in fact executed whole hello world demo well!

So instead of patching RTEMS I do have simple workaround for skyeye bug:

run it in debug mode and set breakpoint on the function above...

http://www.rtems.com/ml/rtems-users/2005/d...r/msg00156.html

===

9 янв 2006

RTEMS/SkyEye 1.2.0RC4 success!

find below reference to the 1.2.0RC4 version which is able to run RTEMS

tests: hello.exe, ticker.exe and paranoia.exe w/o any issue and w/o any

workaround in the RTEMS sources!

http://www.rtems.com/ml/rtems-users/2006/j...y/msg00041.html

===

 

http://www.skyeye.org/ - сайт

 

В комментариях к последнему релизу нашлось такое

http://gro.clinux.org/forum/forum.php?forum_id=2949

http://gro.clinux.org/frs/download.php/153...2-RC7-2.tar.bz2

* add ICE breakpoint debug function for SkyEye interpretting execution. now the arm-gdb can remotely debug os running on skyeye.

* support ecos for s3c2410 running on skyeye(mmu disabled s3c2410),if open mmu, then have some bug.

* fix several bugs.

 

И точно, на сайте у них написано

http://skyeye.sourceforge.net/wiki/um5

Now Skyeye supports the RDI (remote debug interface) protocol of GDB.

In the future, we hope SkyEye can support more debugging protocols.

 

http://gro.clinux.org/frs/?group_id=327 - файлы на скачку.

 

У них там есть замечатальная вещь - test suite, в который входят

эталонные загрузочные образы Linux для всех процов, которые они там

эмулируют (причем, если проц с графикой, и она эмулируется - образ с

поддержкой графики). Так что можно тут же проверить тулзу в работе.

 

At91RM9200 тоже входит в число эмулируемых процов, что характерно :).

 

Таким образом, получается, что симулятор, на котором можно пустить RTEMS, eCos, Linux (у них там и симуляция uCOS есть) наличествует. Ура!

 

Но возникает вопрос Линуха. Хорошо тем, что живет под ним. А вот для таких как я это тяжело. Но о нас уже позаботились!

 

******* Live CD на основе Knoppix GNU/Linux для embedded девелоперов **************

Полный набор Linux cross тулзов на одном CD!

 

http://free-electrons.com/community/tools/...set_language=en

 

KernelKit is a Knoppix GNU/Linux derivative targetting the development of Linux kernel and drivers, as well as Free Sofware embedded systems. It is currently being used in our Embedded Linux Training sessions.

 

Набор тулзов просто фантастический, словами не описать. Под все распространенные платформы, половина тузлов (да каких тулзов! - опишу ниже) лично мне просто была неизвестна до этого момента.

 

IMHO, идеальный выбор для начинающих изучать GNU (тпа меня). Не зря фирма, которая сделала это чудо, использует его для тренингов по Embedded Linux.

 

Skyeye присутсвует, правдна старой версии - но это поправимо :)

 

if машина мощная - под WmVare пустить.

else - в дисковод и перегрузиться :)

 

Еще у этой фирмы замечательные материалы учебных курсов на сайте выложены

http://free-electrons.com/training

 

А вот на стоимость самих курсов лучше не смотреть :))

http://free-electrons.com/training/prices

 

Особенно меня там заинтересовали 2 тулзы:

********************************************************************************

****************

*** SCons - a Software construction tool. A strong alternative to autoconf / automake / make ***

********************************************************************************

****************

 

http://www.scons.org/

http://www.scons.org/doc/HTML/scons-user/book1.html - дока

*********** What is SCons? ************

SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.

 

************ What makes SCons better? ************

* Configuration files are Python scripts--use the power of a real programming language to solve build problems.

* Reliable, automatic dependency analysis built-in for C, C++ and Fortran--no more "make depend" or "make clean" to get all of the dependencies. Dependency analysis is easily extensible through user-defined dependency Scanners for other languages or file types.

* Built-in support for C, C++, D, Java, Fortran, Yacc, Lex, Qt and SWIG, and building TeX and LaTeX documents. Easily extensible through user-defined Builders for other languages or file types.

* Building from central repositories of source code and/or pre-built targets.

* Built-in support for fetching source files from SCCS, RCS, CVS, BitKeeper and Perforce.

* Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files.

* Reliable detection of build changes using MD5 signatures; optional, configurable support for traditional timestamps.

* Improved support for parallel builds--like make -j but keeps N jobs running simultaneously regardless of directory hierarchy.

* Integrated Autoconf-like support for finding #include files, libraries, functions and typedefs.

* Global view of all dependencies--no more multiple build passes or reordering targets to build everything.

* Ability to share built files in a cache to speed up multiple builds--like ccache but for any type of target file, not just C/C++ compilation.

* Designed from the ground up for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and OS/2.

 

Идея просто замечательная. Заменить все эти мощные, но весьма недружелюбные autoconf / automake / make на понятный скриптовый язык - IMHO, это просто мечта!

 

***********************************************************

******** Splint static C code checker.*********************

***********************************************************

 

http://www.splint.org/

http://www.splint.org/manual/

 

Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes. With minimal effort, Splint can be used as a better lint. If additional effort is invested adding annotations to programs, Splint can perform stronger checking than can be done by any standard lint.

 

Некая проверялка кода. Не знаю пока, что это такое.

 

************** JTAG ************************

ОК, с симуляцией разобрались. Как бы теперь все это на плате-то завести?

 

Переписываясь с одним буржуином по теме JTAG отладки под eCos GDB получил такое письмо:

> you might want to check out openocd (http://openocd.berlios.de/web/)

> I think it has support for atmel parts. I use it with a homebuilt

> usb-jtag adapter on a freescale ARM9 part and it works pretty well.

 

http://openocd.berlios.de/web/ - очень занятная вещь! И под нее есть хорошая коммерческая железяка

http://www.amontec.com/jtagkey.shtml

 

OpenOCD supported processors:

ARM7TDMI(-S)

ARM720t

ARM920t (and ARM9TDMI in general)

 

User interaction is available through a telnet interface and a GDB server.

Support for other targets is planned, with 926EJ-S likely being the next one.

More advanced JTAG devices are being considered. Adding support for other flash types is easily possible.

 

Похожий на jtagkey девайс, но с немного другой разводкой пинов. Вместе

со схемами и печатками!

http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html

 

When using the Amontec JTAGkey, you have to get the drivers from the

Amontec homepage (www.amontec.com), as the JTAGkey uses a non-standard

VID/PID.

 

Так что похоже, чтобы добиться хоть какой-то защиты, JTAGkey имеет

нестандартную прощивку EEPROM. Но это легко победить :)

 

Таким образом, мы получим рабочую GDB отладку по JTAG со скоростью

несколько десятков кбайт/сек.

 

!!! Эт не попытка отбить хлеб у DASM, которому я весьма признателен! Это просто продолжение темы "JTAG под GDB".

 

Конечно, накопив денег, надо будет когда-нибудь купить эту суперсистемную тулзу

http://www.ronetix.com/peedi.html

Весь лист eCos тащится от нее. Осталось найти 1.5 к евриков :)

 

****** Дополнения *****

Что почить по Knoppix.

 

По Knoppix книга свежая вышла

http://www.bolero.ru/product-39512305.html

 

*********** Название: Hacking Knoppix (ExtremeTech) ***************

Автор: Scott Granneman

Издательство: Wiley

Год: 2006-01-04

Страниц: 336

Формат: chm

Размер: 3.84 Mb

ISBN: 0764597841

Язык: англ.

Источник:

http://www.natahaus.ru/2006/06/15/hacking_...xtremetech.html

Качать (без пароля):

http://www.mytempdir.com/740427

http://up.spbland.ru/files/06061540/

http://depositfiles.com/files/110066/HKnop.rar.html

 

 

**** Д. Н. Колисниченко, Питер В. Аллен Linux: полное руководство ** Серия: Полное руководство **

2006 г.

784 стр.

.PDF

92М в сумме!

Источник:

http://www.natahaus.ru/2006/01/22/Linux__p...ukovodstvo.html

Качать (без пароля):

http://rapidshare.de/files/11225876/Kolisn....part1.rar.html

http://rapidshare.de/files/11225342/Kolisn....part2.rar.html

http://rapidshare.de/files/11224913/Kolisn....part3.rar.html

 

************* ВЫВОД ***********

Ну что, типа мечта идиота начинает материализовываться? Полноценная GNU среда (и не такая уж и страшная) для embedded разработки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

************** JTAG ************************

ОК, с симуляцией разобрались. Как бы теперь все это на плате-то завести?

 

 

When using the Amontec JTAGkey, you have to get the drivers from the

Amontec homepage (www.amontec.com), as the JTAGkey uses a non-standard

VID/PID.

 

Так что похоже, чтобы добиться хоть какой-то защиты, JTAGkey имеет

нестандартную прощивку EEPROM. Но это легко победить :)

 

Где то на берлиозе я видел такую фразу.

 

Openocd currently supports Wiggler (clones), FTDI FT2232C based JTAG interfaces, and the Amontec JTAG Accelerator, and allows ARM7 (ARM7TDMI and ARM720t) and ARM9 (ARM920t) based cores to be debugged.

Так что похоже Amontec можно не клонировать.

 

А учитывая, что китаец грозится поддержать FT2232C и олимех клепает какой то плугин(!) FT2232C для иара, этот чипец имеет все шансы стать неким стандартом дефакто.

 

Вот интересно было бы проверить - нужно всего то винарм, опеносд и фт2232 собрать в кучу :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

* многофукциональная отладочная плата

- проверять софт на железе, пока делается целевая плата

* целевая плата

 

Все остальное не знаю, но вот то, что я так давно искал, нашел у Амонтека.

Это по поводу их JTAG.

 

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...