Метценгерштейн 0 10 августа, 2015 Опубликовано 10 августа, 2015 · Жалоба sd_app_event_wait(); Хочу девай в сон загнать. Вычитал, что этой ф-ей он гонится в сон. Но не понять систему- нужен хидер файл. Без него компилер не видит ф-ии. Как искать, какой хидер нужен? Где в документации указано, какой подключать? Немного каша у меня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 10 августа, 2015 Опубликовано 10 августа, 2015 (изменено) · Жалоба ...Как искать, какой хидер нужен? Где в документации указано, какой подключать?... Либо толковую книгу = поход в книжный магазин, полистать, поискать, глазками глянуть (покупать не обязательно) либо контекстный поиск по вашей файловой системе(если подразумевается что это барахло у вас на компе валяется) либо поиск в гугле на соответствие название=файл... согласитесь это элементарные шаги, которые можно решать самому... ЗЫ По первой ссылке есть архив проекта. Думаю он компилябельный... тут встречается название вашей функции Изменено 10 августа, 2015 пользователем kolobok0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 10 августа, 2015 Опубликовано 10 августа, 2015 · Жалоба Вы не поняли вопрос. Я знаю что такое хидеры и как и куда их включать. Вопрос в другом- какой именно хидер нужен? Где в документации сказано, что включите именно его? По ссылке я был еще до Вас. Ничего из моих вопросов нет. Если Вы не занимались нордиком, то общие советы можно не давать- они просты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolotoff 0 10 августа, 2015 Опубликовано 10 августа, 2015 · Жалоба Включать файл "nrf_soc.h". Можно было перейти к функции в нормальной IDE(find references или goto definition) или поискать определение по файлам, например через тоталкоммандер. П.с. Эта функция не уводит устройство в сон, а только ядро АРМ. Вся остальная периферия продолжит работать и процессор проснётся по первому прерыванию. Фактически в функции выполняется одна команда __WFE(); Для ухода в глубокий сон есть другие функции, например sd_power_system_off(); - если используется SofDevice, или просто запись в регистр NRF_POWER->SYSTEMOFF = 1; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 11 августа, 2015 Опубликовано 11 августа, 2015 · Жалоба Включать файл "nrf_soc.h". Можно было перейти к функции в нормальной IDE(find references или goto definition) или поискать определение по файлам, например через тоталкоммандер. П.с. Эта функция не уводит устройство в сон, а только ядро АРМ. Вся остальная периферия продолжит работать и процессор проснётся по первому прерыванию. Фактически в функции выполняется одна команда __WFE(); Для ухода в глубокий сон есть другие функции, например sd_power_system_off(); - если используется SofDevice, или просто запись в регистр NRF_POWER->SYSTEMOFF = 1; вот, спасибо. Видно, что человек работает с нордиком. Там фишка в том, что софтдевайс прошит отдельной прошивкой в др. область памяти. И, похоже, что именно только через эти хидеры происходит обращение к ф-ям софтдевайса. Все ф-ии SD... находятся в софтдевайсе. Обращение к ним через этот хидер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolotoff 0 11 августа, 2015 Опубликовано 11 августа, 2015 · Жалоба вот, спасибо. Видно, что человек работает с нордиком. Там фишка в том, что софтдевайс прошит отдельной прошивкой в др. область памяти. И, похоже, что именно только через эти хидеры происходит обращение к ф-ям софтдевайса. Все ф-ии SD... находятся в софтдевайсе. Обращение к ним через этот хидер. Пожалуйста. Функции, которые начинаются с sd_ требуют инициализированный и включенный softdevice, иначе вылет в assert, кроме пары штук, у них есть тело в файле .c. А так, вся документация и SDK c примерами есть на сайте нордика https://developer.nordicsemi.com/nRF51_SDK Только нужно смотреть на ревизию чипа, последние версии SDK работают только с 3й ревизией чипа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 12 августа, 2015 Опубликовано 12 августа, 2015 · Жалоба еще вопрос по сну: загнал его в сон ф-ей sd_power_system_off(); он теперь на что реагирует? Разбудить его чем теперь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 12 августа, 2015 Опубликовано 12 августа, 2015 · Жалоба может мануалом его стукнуть или другой какой документацией? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolotoff 0 12 августа, 2015 Опубликовано 12 августа, 2015 · Жалоба может мануалом его стукнуть или другой какой документацией? Вынужден согласиться с товарищем. Ответ на все вопросы можно найти в документации, даташите и референс-мануале. Всё есть на сайте нордика. Также в SDK есть примеры реализаций прошивок, например ble_app_hrs. Касательно sd_power_system_off. Это уход в самый экономичный режим сна, без сохранения ОЗУ. Проснуться можно по изменению логического уровня на каком-либо входе. Но его нужно предварительно настроить функцией nrf_gpio_cfg_sense_input. Опять таки, всё можно подсмотреть в примерах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 12 августа, 2015 Опубликовано 12 августа, 2015 · Жалоба Спасибо за пояснения. Тут я на пути, как подступиться к этой самой документации. Пока только разбираюсь с системой документации. Буду там смотреть. Еще раз спасибо за дельные ответы. Теперь уже можно что-то похожее искать как реализовано в примерах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 августа, 2015 Опубликовано 18 августа, 2015 · Жалоба не получается все-равно запустить проект http://developer.nordicsemi.com/nRF51_SDK/...tml/a00075.html не видит мастер контрол панел, что новое устройство появилось. Проц предварительно стер весь. Залил проект. Может надо отдельно софтдевайс в память заливать? Хотя нигде про это не сказано. В проекте адреса флеша с 1600 начинаются. По идее, надо отдельно софтдевайс подгружать. Не врублюсь, от куда его брать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolotoff 0 18 августа, 2015 Опубликовано 18 августа, 2015 (изменено) · Жалоба Софтдевайс отдельно заливается. Иначе даже отладчик(IAR) ругается на неправильный указатель на стэк. Для S110 hex файл лежит в папке SDK \components\softdevice\s110\hex\ Залить можно просто скопировав в "диск" программатора. При успешной прошивке, отладочник замигает светодиодом. Изменено 18 августа, 2015 пользователем IgorKossak бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 августа, 2015 Опубликовано 18 августа, 2015 · Жалоба хрень какая-то: открыл проект в SDK 8.1.0 C:\...\NORDIC\SDK_8.1.0\examples\ble_peripheral\ble_app_cts_c\pca10028\s110\arm5_no_packs\ble_app_cts_c_s110_pca10028.uvprojx загрузил софтдевайс из того же SDK через nRF Go Studio, предварительно стер флеш. Заливаю проект кейлом, старт начинается с main() все как буд - то нормально. в main вызывается ф-я ble_stack_init(); и там пропадает. разве что-то забыл сделать еще? уже в вечном цикле ничего не крутится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolotoff 0 18 августа, 2015 Опубликовано 18 августа, 2015 · Жалоба Заливаю проект кейлом, старт начинается с main() все как буд - то нормально. в main вызывается ф-я ble_stack_init(); и там пропадает. разве что-то забыл сделать еще? уже в вечном цикле ничего не крутится. А на чем запускаете, на отладочнике nrf51dk? Если нет, то на чем и какая ревизия чипа(можно здесь написать полный текст с чипа, сам посмотрю). Могу посоветовать пройтись под дебагом и узнать, что возращается в err_code = sd_ble_enable(&ble_enable_params); APP_ERROR_CHECK(err_code); И вообще, на каком именно APP_ERROR_CHECK(err_code) валится, их полно в коде. Также во время выполнения программы под отладкой, стоит поставить на паузу и посмотреть call stack. Сам использую IAR, что и как в кейле не скажу, не нравится мне он. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 августа, 2015 Опубликовано 18 августа, 2015 · Жалоба Спасибо. Завтра на работе подробно все посмотрю и скажу. Есть отладочная доска, есть отдельно процы спаянные. Доска PCA0006 вроде как. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться