|
NORDIC nrf51822, вопрос по ф-ии |
|
|
|
 |
Ответов
(1 - 14)
|
Aug 10 2015, 09:26
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(Метценгерштейн @ Aug 10 2015, 12:03)  ...Как искать, какой хидер нужен? Где в документации указано, какой подключать?... Либо толковую книгу = поход в книжный магазин, полистать, поискать, глазками глянуть (покупать не обязательно) либо контекстный поиск по вашей файловой системе(если подразумевается что это барахло у вас на компе валяется) либо поиск в гугле на соответствие название=файл... согласитесь это элементарные шаги, которые можно решать самому... ЗЫ По первой ссылке есть архив проекта. Думаю он компилябельный... тут встречается название вашей функции
Сообщение отредактировал kolobok0 - Aug 10 2015, 09:28
|
|
|
|
|
Aug 11 2015, 12:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
Цитата(Defin @ Aug 10 2015, 22:13)  Включать файл "nrf_soc.h". Можно было перейти к функции в нормальной IDE(find references или goto definition) или поискать определение по файлам, например через тоталкоммандер.
П.с. Эта функция не уводит устройство в сон, а только ядро АРМ. Вся остальная периферия продолжит работать и процессор проснётся по первому прерыванию. Фактически в функции выполняется одна команда __WFE();
Для ухода в глубокий сон есть другие функции, например sd_power_system_off(); - если используется SofDevice, или просто запись в регистр NRF_POWER->SYSTEMOFF = 1; вот, спасибо. Видно, что человек работает с нордиком. Там фишка в том, что софтдевайс прошит отдельной прошивкой в др. область памяти. И, похоже, что именно только через эти хидеры происходит обращение к ф-ям софтдевайса. Все ф-ии SD... находятся в софтдевайсе. Обращение к ним через этот хидер.
|
|
|
|
|
Aug 11 2015, 14:14
|
Частый гость
 
Группа: Свой
Сообщений: 105
Регистрация: 26-12-11
Из: Казань
Пользователь №: 69 101

|
Цитата(Метценгерштейн @ Aug 11 2015, 15:03)  вот, спасибо. Видно, что человек работает с нордиком. Там фишка в том, что софтдевайс прошит отдельной прошивкой в др. область памяти. И, похоже, что именно только через эти хидеры происходит обращение к ф-ям софтдевайса. Все ф-ии SD... находятся в софтдевайсе. Обращение к ним через этот хидер. Пожалуйста. Функции, которые начинаются с sd_ требуют инициализированный и включенный softdevice, иначе вылет в assert, кроме пары штук, у них есть тело в файле .c. А так, вся документация и SDK c примерами есть на сайте нордика https://developer.nordicsemi.com/nRF51_SDKТолько нужно смотреть на ревизию чипа, последние версии SDK работают только с 3й ревизией чипа.
|
|
|
|
|
Aug 12 2015, 11:49
|
Частый гость
 
Группа: Свой
Сообщений: 105
Регистрация: 26-12-11
Из: Казань
Пользователь №: 69 101

|
Цитата(Golikov A. @ Aug 12 2015, 13:27)  может мануалом его стукнуть или другой какой документацией? Вынужден согласиться с товарищем. Ответ на все вопросы можно найти в документации, даташите и референс-мануале. Всё есть на сайте нордика. Также в SDK есть примеры реализаций прошивок, например ble_app_hrs. Касательно sd_power_system_off. Это уход в самый экономичный режим сна, без сохранения ОЗУ. Проснуться можно по изменению логического уровня на каком-либо входе. Но его нужно предварительно настроить функцией nrf_gpio_cfg_sense_input. Опять таки, всё можно подсмотреть в примерах.
|
|
|
|
|
Aug 18 2015, 09:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
не получается все-равно запустить проект http://developer.nordicsemi.com/nRF51_SDK/...tml/a00075.htmlне видит мастер контрол панел, что новое устройство появилось. Проц предварительно стер весь. Залил проект. Может надо отдельно софтдевайс в память заливать? Хотя нигде про это не сказано. В проекте адреса флеша с 1600 начинаются. По идее, надо отдельно софтдевайс подгружать. Не врублюсь, от куда его брать?
|
|
|
|
|
Aug 18 2015, 13:08
|
Частый гость
 
Группа: Свой
Сообщений: 105
Регистрация: 26-12-11
Из: Казань
Пользователь №: 69 101

|
Софтдевайс отдельно заливается. Иначе даже отладчик(IAR) ругается на неправильный указатель на стэк. Для S110 hex файл лежит в папке SDK \components\softdevice\s110\hex\ Залить можно просто скопировав в "диск" программатора. При успешной прошивке, отладочник замигает светодиодом.
Сообщение отредактировал IgorKossak - Aug 18 2015, 16:52
Причина редактирования: бездумное цитирование
|
|
|
|
|
Aug 18 2015, 15:14
|
Частый гость
 
Группа: Свой
Сообщений: 105
Регистрация: 26-12-11
Из: Казань
Пользователь №: 69 101

|
Цитата(Метценгерштейн @ Aug 18 2015, 17:44)  Заливаю проект кейлом, старт начинается с 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, что и как в кейле не скажу, не нравится мне он.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|