FlowCode для ARM Печать
Добавил(а) microsin   

Это генератор кода программы, основанный на "квадратиках" стандартных блок-схем алгоритмов. Конечно, это не "киллер" C и C++ для написания программ, но рассмотреть такой вариант программирования очень интересно.

Сайт программы см. в [1]. Очень неплохая статья про FlowCode [2]. FlowCode поддерживает ARM, AVR и PIC. К сожалению, в версии, что я тестировал - Flowcode v3.4.7.48 для ARM - я не нашел работы с USB. В новых версиях (Flowcode 4, которая на момент написания статьи - июнь 2009 - была только в версии для PIC) это должно поддерживаться, см. [4]. К сожалению, не поддерживается чип AT91SAM7X256 (на 100 ножек).

Установка программы не вызывает затруднений. Поле установки для быстрого ознакомления удобно открыть и позапускать примеры из папки "c:\Program Files\Matrix Multimedia\Flowcode_ARM\Examples\". В примерах рассмотрено мигание светодиодами, управление 7-сегментными индикаторами (одноразрядным и четырехразрядным), вывод на LCD-индикатор, подключенный к PORTA (индикатор на чипе Hitachi HD44780), чтение кнопок, формирование задержек, чтение ADC.

В новой версии (Flowcode 4) возможности впечатляют:

- поддерживаются интерфейсы I2C, SPI, RS232, Bluetooth, Zigbee, IrDA, CAN, LIN, TCP/IP, Webserver, USB, RFID, GPS. Конечно, многое из этого списка было и в предыдущей версии.
- имеются компоненты для LED, кнопок, выключателей, клавиатур, LCD, Graphical colour LCD, Graphical mono LCD, сенсоров, 7-сегментных дисплеев, внутренней EEPROM.
- можно рисовать переднюю панель для разрабатываемого прибора (!).
- поддерживаются следующие ARM: AT91SAM7S512, AT91SAM7S256, AT91SAM7S128, AT91SAM7S64, AT91SAM7S321, AT91SAM7S32, AT91SAM7S16, AT91SAM7S161, AT91SAM7SE32, AT91SAM7SE256, AT91SAM7SE512 (к сожалению, AT91SAM7X256 не поддерживается).

Из ответа Sean King, инженера Matrix Multimedia Ltd:

К сожалению, никакие отладочные средства FlowCode не поддерживает ни для ARM, ни для AVR. В данный момент (26 июня 2009) разрабатывается отладочное средство для PIC, и в будущем (наверное далеком) такая функциональность может быть добавлена в версии FlowCode для AVR и ARM.

Версии FlowCode для AVR и ARM используют в качестве штатного компилятора GCC, поэтому возможно получить отладочный код для отладки вне среды FlowCode. Для AVR тут все понятно - это AVR Studio, а что применять для ARM - непонятно.

В качестве программатора FlowCode для AVR использует по умолчанию AVRDUDE, но возможно использование следующих программаторов:

ABCmini Board, aka Dick Smith HOTCHIP
Nightshade ALF-PgmAVR
AT-ISP V1.1 programming cable for AVR-SDK1
AVR109 Boot Loader
avr910 Atmel Low Cost Serial Programmer
Atmel AVR ISP (an alias for stk500)
Atmel AVR ISP mkII (alias for stk500v2)
Bascom SAMPLE programming cable
Altera ByteBlaster
Brian Dean's Programmer
Atmel Buttery Development Board
c2n232i
dasa serial port banging
dasa3 serial port banging
AVR Dragon
Dontronics DT006
ERE ISP-AVR
Frank's STK200 clone
Futurlec.com programming cable
Atmel JTAG ICE mkI
Atmel JTAG ICE mkII
Crossbow MIB510 programming board
Jason Kyle's pAVR Serial Programmer
Picoweb Programming Cable
Pony Prog STK200
Lancos SI-Prog
Steve Bolt's Programmer
STK200
Atmel STK500
Atmel STK600
USBasp
USBtiny simple USB programmer
Xilinx JTAG cable

В качестве программатора для ARM FlowCode использует прямое соединение по USB, специальную программу и встроенный в чип bootloader. Возможно использование технологии SAM-BA для загрузки в чип hex-кода, сгенерированного в среде FlowCode.

[Ссылки]

1. Flowcode site:matrixmultimedia.com.
2. ПРОГРАММА FLOWCODE - полет первый site:elektron.ucoz.ru.
3. Дока на русском по FlowCode - FlowRU.pdf.
4. FlowCode USB site:matrixmultimedia.com.