Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование SIM900 EAT
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
kisel
Приобрел отладку на sim900.
На форуме дали EAT. Пытаюсь начать управления портами, ничего не выходит. На АТ команды отвечает, с их помощью ноги шевелятся.
Код программы:
GPIO1 и GPIO2 выставить в "1"
CODE
void fl_entry()
{
if(ebdat6_08pinConfigureToUnused(FL_PIN_40) == FL_OK)
{
if(ebdat6_02GpioSubscribe(FL_PIN_40, FL_GPIO_OUTPUT, 1) == FL_OK)
{
}
}
if(ebdat6_08pinConfigureToUnused(FL_PIN_41) == FL_OK)
{
if(ebdat6_02GpioSubscribe(FL_PIN_41, FL_GPIO_OUTPUT, 0) == FL_OK)
{
}
}
}

Компилируется без ошибок.
Peps
Да, и еще, при первом программировании надо залить версию прошивки, в которой встроен EAT и свою программку. Последующие разы можно заливать только свою программку. И еще, включите режим отладки и выводите отладочные данные в DEBUG UART, очень удобно.
kisel
Цитата(Peps @ May 4 2011, 11:06) *
Да, и еще, при первом программировании надо залить версию прошивки, в которой встроен EAT и свою программку. Последующие разы можно заливать только свою программку.

Что то я не понял. А как это сделать? В Downloader нельзя выбрать ядро.
Peps
В Downloader выбираете ядро именно то, которое содержит буковки EAT. Просто иногда люди пытаются запустить ПО из под стандартной прошивки и в качестве ядра тоже указывают стандартную прошивку, соответственно, модуль на программу никак и не реагирует. И еще, ядро под которое компилируете, и которое заливаете в модуль должны совпадать!
kisel
Цитата(Peps @ May 4 2011, 13:57) *
В Downloader выбираете ядро именно то, которое содержит буковки EAT. Просто иногда люди пытаются запустить ПО из под стандартной прошивки и в качестве ядра тоже указывают стандартную прошивку, соответственно, модуль на программу никак и не реагирует. И еще, ядро под которое компилируете, и которое заливаете в модуль должны совпадать!


Залил ядро 1137B01V03SIM900M64_ST_EAT.cla в downloader выбрал Erase type: erase user data and Code. Дальше залил свою прошивку Erase type: Source code.
Включаю (power), дальше нажимаю PWRKEY, NETLIGHT два раза моргает и все. Порты не реагируют.
Помогите еще немного sm.gif
Peps
Посмотрите, в самой IDE, в которой Вы пишете программу в c:\SIM900DevIDE\EmbatSIM\gsmos\ такое же имя ядра, что и заливаете? Если нет - то тогда залейте в модуль именно тот файл с расширением .cla, что и по указанному мною пути. По идее должно все зафунциклюкать.
kisel
Ну все.. такое ощущение, что он окончательно сдох. прошивал все прошивке, которые были. Итог один, включаю питание, нажимаю PWRKEY, NETLIGHT загорается, потом один раз моргает и выключается. После ничего не происходит. На АТ команды не отвечает. Помогите, что делать? может чем то его перепрошить? если есть прошу скинуть на mikheev.zel(собака)gmail.com.
kisel
Так. Модуль заработал.
в папке DOWNLOADER есть файлик RUNConfig.ini в строке CoreFilePath = ядро, которое лежит в SIM900DevIDE\EmbatSIM\gsmos\coreSW\ в моем случае выглядит так:
CoreFilePath=C:\SIM900DevIDE\EmbatSIM\gsmos\coreSW\1137B01V03SIM900M64_ST_EAT
Только таким способом смог выбрать ядро (так как в самом SIM900 Series download Tools Customer 1.3 выбрать ядро возможности нет)
Модуль зашевелился, собственная программа так и не заработала.
Добавил вывод в режиме дебаг, прога выглядит так:
CODE
#include ...
void fl_entry()
{
ebdat7_00EnterDebugMode();
ebdat7_01DebugTrace("<<fl_entry>>");

if(ebdat6_08pinConfigureToUnused(FL_PIN_40) == FL_OK)
{
ebdat7_01DebugTrace("PinUnused");
if(ebdat6_02GpioSubscribe(FL_PIN_40, FL_GPIO_OUTPUT, 1) == FL_OK)
{
ebdat7_01DebugTrace("<<PL_PIN_40 to 1>>");
//ebdat6_04WriteGpio(FL_PIN_67, 1);
}
}

while (TRUE)
{

}
}


Я так понял, что теперь каждый раз зашиваю свой код, выбирая Erase type: Erase sourse code.
вот фотка с download-ра
Нажмите для просмотра прикрепленного файла

что делаю не так?
Peps
У меня стоит пункт Erase User Data & Code. А по поводу редактирования файла конфигурации для третей версии прошивки _ я думал это само собой разумеется и забыл Вам предложить. И еще - уберите бесконечный цикл и у Вас все получится.. Модуль включится, отработает Ваш кусочек кода и будет дальше работать как и положено ему...
kisel

Все победа sm.gif

Понял. Чтобы установить ядро нужно было в downloader поставить file count: TWO, тогда появляется выбор пути для ядра.
При изменении программы можно не зашивать каждый раз ядро, и поэтому ставим file count: ONE. в этом случае, будет прошиваться исключительно собственная программа.

Спасибо, за подсказки!
Anton_1000
При компиляции примера выскакивает такая лабуда, похоже преокт не компилится.В чёмпричина?:
C:\SIM900DevIDE\anton1>mkdir .\output
Подпапка или файл .\output уже существует.

C:\SIM900DevIDE\anton1>rem perl ..\EmbatSIM\gsmos\tools\globalmacro

C:\SIM900DevIDE\anton1>perl ..\EmbatSIM\gsmos\tools\renew
"perl" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\SIM900DevIDE\anton1>make OS=win APPDIR=C:\SIM900DevIDE\anton1
echo Compiling [../EmbatSIM/gsmos/flcode/fl_Main.c]
Compiling [../EmbatSIM/gsmos/flcode/fl_Main.c]
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe ../EmbatSIM/
gsmos/flcode/fl_Main.c -c --cpu=ARM9E --debug --no_debug_macros --littleend --s
plit_sections --fpu=SoftVFP --apcs /interwork -DSIMCOM_FTR -DSIMCOM -I.\ainc
-I ../EmbatSIM/gsmos/flinc -I C:\Program Files\ARM\RVCT\Da
ta\2_2b576\include\windows
Warning: C2083W: -g defaults to -O2 if no optimisation level is specified

Error: C3065E: type of input file 'Files\ARM\RVCT\Data\2_2b576\include\windows'
unknown

Error: C3079E: armcc command with no effect

make: *** [fl_Main.o] Error 1

C:\SIM900DevIDE\anton1>move *.o .\output
Файл с таким именем уже существует
или не найден.

C:\SIM900DevIDE\anton1>move *.cla .\output
Файл с таким именем уже существует
или не найден.

C:\SIM900DevIDE\anton1>move *.elf .\output
Файл с таким именем уже существует
или не найден.

C:\SIM900DevIDE\anton1>move *.map .\output
Файл с таким именем уже существует
или не найден.

C:\SIM900DevIDE\anton1>if exist *.sym move *.sym .\output

C:\SIM900DevIDE\anton1>pause
Для продолжения нажмите любую клавишу . . .
ap77
Цитата(Anton_1000 @ May 6 2011, 01:30) *
При компиляции примера выскакивает такая лабуда, похоже преокт не компилится.В чёмпричина?:
C:\SIM900DevIDE\anton1>mkdir .\output

Для продолжения нажмите любую клавишу . . .

Все нужно установить в корень C: Названия папок с пробелами искажаются.
Peps
Еще можно попробовать в настройках IDE в Options/Compiler options прописать пути к компилятору. У меня это C:\RVCT_EMBEDDEDAT\RVCT_EAT\2_2b616 и C:\RVCT_EMBEDDEDAT\RVCT_EAT\2_2b576\include\windows. Попробуйте, если не получится - будем думать дальше. А вообще, я подозреваю у вас "не кошерный" компилятор.
Anton_1000
спасибо, помогло. После КЕЙЛа угнетает работа с консолью.
Peps
А то! Там еще в компиляторе есть глюка - он не всегда корректно указывает строки, в которых ошибка. Так что Вам придется применить всю природную смекалку. Я поначалу не мог понять, как у меня в пустой строке может быть необъявленный символ. А потом оказалось обманывает с указанием строк, в которой содержится ошибка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.