реклама на сайте
подробности

 
 
> Прошивка мк FRDM-kw40z
mrprim
сообщение Apr 25 2016, 20:45
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



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

извините если не в том разделе
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Immortal_Buka
сообщение Apr 26 2016, 06:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 17-06-14
Пользователь №: 81 969



поставить KDS и скачать SDK вот тут вот(требует регистрации, если не будет давать качать - страну укажите любую европейскую), в нём примеров куча должна быть

Сообщение отредактировал Immortal_Buka - Apr 26 2016, 06:36
Go to the top of the page
 
+Quote Post
mrprim
сообщение Apr 26 2016, 07:13
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(Immortal_Buka @ Apr 26 2016, 07:30) *
поставить KDS и скачать SDK вот тут вот(требует регистрации, если не будет давать качать - страну укажите любую европейскую), в нём примеров куча должна быть

Спасибо скачал всё сделал, единственная проблема только что при создании проекта в KDS отсутствует выбор конкретно моего камня.
или если не создавать новый проект а запустить пример то как прошить сам чип и запустить его на нём через TERM?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 26 2016, 07:52
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ Apr 26 2016, 10:13) *
Спасибо скачал всё сделал, единственная проблема только что при создании проекта в KDS отсутствует выбор конкретно моего камня.
или если не создавать новый проект а запустить пример то как прошить сам чип и запустить его на нём через TERM?


Это вам совершенно не то посоветовали.
Качать нужно KW40Z_Connectivity_Software_1.0.0
Go to the top of the page
 
+Quote Post
mrprim
сообщение Apr 26 2016, 08:35
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(AlexandrY @ Apr 26 2016, 08:52) *
Это вам совершенно не то посоветовали.
Качать нужно KW40Z_Connectivity_Software_1.0.0

Да, спасибо.
С конект тестом я уже разобрался, и пакеты с чипа на чип по отправлял и немного покопался в интерфейсе.
вот после него у меня и возникли вопросы(внутри очень много кода в котором новичку разобраться сложно). Я не понимаю как создать самый простенький класс с методами(таймер, мигание светодиодом, включение светодиода по нажатию одной из кнопок) и что бы всё это потом можно было закинуть в чип и проверить.
А лезть в код конективити_теста просто как в лабиринт
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 27 2016, 09:40
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ Apr 26 2016, 11:35) *
С конект тестом я уже разобрался, и пакеты с чипа на чип по отправлял и немного покопался в интерфейсе.
вот после него у меня и возникли вопросы(внутри очень много кода в котором новичку разобраться сложно). Я не понимаю как создать самый простенький класс с методами(таймер, мигание светодиодом, включение светодиода по


Кстати, у меня USB-KW40Z в режиме снифера виснет через несколько секунд после начала записи потока.
Если коннект между дивайсами которые снифер прослушивает прервать и возобновить, то снифер оживает.

У вас так не происходит?
Go to the top of the page
 
+Quote Post
mrprim
сообщение Apr 29 2016, 17:45
Сообщение #7





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(AlexandrY @ Apr 27 2016, 10:40) *
Кстати, у меня USB-KW40Z в режиме снифера виснет через несколько секунд после начала записи потока.
Если коннект между дивайсами которые снифер прослушивает прервать и возобновить, то снифер оживает.

У вас так не происходит?

Я пока с USB не игрался, вот пытаюсь с пинами на основной плате научится работат, кстати IAR с opensda вроде как прекрасно работает.
У меня вот вопрос возник: в классе Gpio_pins.h прописана функция свитчера
Код
gpio_input_pin_user_config_t switchPins[] = {
    {
        .pinName = kGpioSW3,
        .config.isPullEnable = true,
        .config.pullSelect = kPortPullUp,
        .config.isPassiveFilterEnabled = false,
        .config.interrupt = kPortIntDisabled,
    },

так вот у меня вопрос, как в Main() классе мне проверить именно эту кнопку, на то, нажата ли она?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 30 2016, 19:38
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ Apr 29 2016, 20:45) *
кстати IAR с opensda вроде как прекрасно работает.
У меня вот вопрос возник: в классе Gpio_pins.h прописана функция свитчера
так вот у меня вопрос, как в Main() классе мне проверить именно эту кнопку, на то, нажата ли она?


Значит в opensda уже прошит был CMSIS DAP.

А проверяются кнопки элементарно.
Вот пример для порта A:
Код
  if (GPIOA_PDIR & ( 1 << (kGpioSW3 & 0xFF) ))
  {
    // Действие если на выводе kGpioSW3 высокий уровень
  }
  else
  {
    // Действие если на выводе kGpioSW3 низкий уровень
  }


Рекомендую чтобы не блуждать по директориям KW40Z_Connectivity_Software сделать себе отдельный проект и собрать туда весь набор исходников со своей понятной структурой без всяких внешних зависимостей.

Я так сделал.
Вот мой пример демо приложения для HID дивайса на плату usbkw40z - https://github.com/Indemsys/K66BLEZ1/tree/m...KW40/HID_device
Все собрано и переструктурировано. Никаких зависимостей от KSDK. Включена и FreeRTOS.
Нет лишнего этапа сборки библиотеки с HAL.
Пример начинает работать сразу без захода в IDLE. А то у стандартных примеров в Connectivity_Software надо еще что-то нажимать чтобы вывести из IDLE.

А вот с самим снифером на usbkw40z беда. Их софт сносит крышу у Windows 10. Т.е. при попытке создать виртуальный Ethernet интерфейс для снифера у Windows 10 вылазит синий экран.

Go to the top of the page
 
+Quote Post
mrprim
сообщение May 1 2016, 10:27
Сообщение #9





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(AlexandrY @ Apr 30 2016, 20:38) *
Код
  if (GPIOA_PDIR & ( 1 << (kGpioSW3 & 0xFF) ))
  {
    // Действие если на выводе kGpioSW3 высокий уровень
  }
  else
  {
    // Действие если на выводе kGpioSW3 низкий уровень
  }

не работает почему-то на действие кнопки макрос на LED не выполняется.

Цитата(AlexandrY @ Apr 30 2016, 20:38) *
Рекомендую чтобы не блуждать по директориям KW40Z_Connectivity_Software сделать себе отдельный проект и собрать туда весь набор исходников со своей понятной структурой без всяких внешних зависимостей.

за это спасибо, так действительно проще разобрать всё.

Цитата(AlexandrY @ Apr 30 2016, 20:38) *
А вот с самим снифером на usbkw40z беда. Их софт сносит крышу у Windows 10. Т.е. при попытке создать виртуальный Ethernet интерфейс для снифера у Windows 10 вылазит синий экран.

В общем у меня раньше была похожая проблема с виртуалками, когда я работал с Java, попробуйте приоритет на Виртуальное соединение поставить второстепенный. В общем, у меня тоже вылазил синий экран на 8.1, когда было подключено моё основное соединение и к примеру несколько виртуальных.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 1 2016, 10:34
Сообщение #10


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ May 1 2016, 13:27) *
не работает почему-то на действие кнопки макрос на LED не выполняется.


В общем у меня раньше была похожая проблема с виртуалками, когда я работал с Java, попробуйте приоритет на Виртуальное соединение поставить второстепенный. В общем, у меня тоже вылазил синий экран на 8.1, когда было подключено моё основное соединение и к примеру несколько виртуальных.


А какой вариант приложения вы используете, bare metal или c использованием FreeRTOS?
А то там ведь надо проверку кнопки вставлять в тело активной задачи. А подходящие активные задачи еще надо найти.

Так у вас снифер все таки работает или нет?
Go to the top of the page
 
+Quote Post
mrprim
сообщение May 2 2016, 08:40
Сообщение #11





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(AlexandrY @ May 1 2016, 11:34) *
А какой вариант приложения вы используете, bare metal или c использованием FreeRTOS?
Так у вас снифер все таки работает или нет?

я юзаю bare metal но сейчас думаю подключу FreeRtos
Usb-kw не тестил пока, так что на счёт снифера пока не отвечу.

Цитата(AlexandrY @ May 1 2016, 11:34) *
А то там ведь надо проверку кнопки вставлять в тело активной задачи. А подходящие активные задачи еще надо найти.


Проверка кнопки у меня стоит в колбеке и проверка сама, как я понял, работает. Просто там постоянно 0, и даже при нажатии ничего не меняется.

Ладно если по кнопке хрен разберешься, то подскажите куда залезть что бы найти команду на Delay. Облазил весь код и нашел максимум osa_timedelay() и то максимальное значение в нём это 23 wacko.gif
выглядит код моргающего леда вот так:
Код
void lptmr_call_back(void) {
      LED1_ON;
      OSA_TimeDelay(23);
      LED1_OFF;
      OSA_TimeDelay(23);
}

Частота вызова функции колбек TMR_PERIOD 500000U
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 2 2016, 09:26
Сообщение #12


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ May 2 2016, 11:40) *
я юзаю bare metal но сейчас думаю подключу FreeRtos
Проверка кнопки у меня стоит в колбеке и проверка сама, как я понял, работает. Просто там постоянно 0, и даже при нажатии ничего не меняется.

Ладно если по кнопке хрен разберешься, то подскажите куда залезть что бы найти команду на Delay. Облазил весь код и нашел максимум osa_timedelay() и то максимальное значение в нём это 23 wacko.gif



Чтобы точно знать какие пины как настроены я применяю собственную схему инициализации.
Можно посмотреть вот в этом файле - https://github.com/Indemsys/K66BLEZ1/blob/m...K66BLEZ1_GPIO.c
Функция Config_pin
Это для MK66, но и для MKW40 подойдет в принципе

А в калбэке LP таймера я бы не рисковал делать длиные задержки. Эти таймера могут использоваться Host и Controller стеками BLE. Может быть нарушена их работоспособность.

С LED-ами же во фреймворке есть специальный механизм настройки вызова калбэков по таймеру - TMR_StartIntervalTimer
В файле LED.c от там продемонстрирован в функции LED_StartFlash. И для формирования нужных длительностей сигналов на LED применяется машина состояний со счетчиком состояний, а не задержки.

Если же желание делать на задержках очень велико, то надо создавать отдельную задачу для светодиода с приоритетом поменьше и уж там можно вставлять какие угодно задержки.
Но надо использовать RTOS тогда.
Go to the top of the page
 
+Quote Post
mrprim
сообщение May 4 2016, 16:50
Сообщение #13





Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464



Цитата(AlexandrY @ May 2 2016, 10:26) *
Чтобы точно знать какие пины как настроены я применяю собственную схему инициализации.
https://github.com/Indemsys/K66BLEZ1/blob/m...Z1_GPIO.c"]https://github.com/Indemsys/K66BLEZ1/blob/m...K66BLEZ1_GPIO.c[/url]
Функция Config_pin
Это для MK66, но и для MKW40 подойдет в принципе

Кстати очень удобный конфиг распиновки, не всё там нашел, но как я понимаю можно любой макрос создать.

Цитата(AlexandrY @ May 2 2016, 10:26) *
А в калбэке LP таймера я бы не рисковал делать длиные задержки. Эти таймера могут использоваться Host и Controller стеками BLE. Может быть нарушена их работоспособность.


на счёт этого, спасибо. Тут я погорячился что в колбек закидывал основные функции

Одно я понял, что часы копания в документациях помогут в любой проблеме, но это бешеная куча времени.
Вопросов у меня возникает очень много, поэтому я их буду задавать по мере изучения платы, может кто найдет темку.
А вы по мере возможности отвечайте, мне зачастую помогает ваша информация.

Следующий вопрос такой. Мне пришла BreadBoard и MCP3008 мой камень подключается к ней через SPI шину. а дальше разные игрушки подключаем уже на MCP. Работали с SPI, подскажете что меня спасёт? biggrin.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 4 2016, 19:49
Сообщение #14


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mrprim @ May 4 2016, 19:50) *
Мне пришла BreadBoard и MCP3008 мой камень подключается к ней через SPI шину. а дальше разные игрушки подключаем уже на MCP. Работали с SPI, подскажете что меня спасёт? biggrin.gif


Вот как раз чтобы не связываться с дискретной SPI периферией я и поставил на свой модуль с MKW40 дополнительный микроконтроллер MK66
И теперь могу на этом сделать вот такой PLC с 20-ю 16-и битными аналоговыми входами.
Прикрепленное изображение


SPI у Kinetis работает надежно.
В одном из моих проектов MK60 работает по SPI с Wi-Fi чипом на скорости 20 Mbit по DMA.
Единственно при использовании DMA не удалось сделать автоматическое выставление CS. Из-за чего не вышло целые транзакции пакетов организовывать автоматом по DMA.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mrprim   Прошивка мк FRDM-kw40z   Apr 25 2016, 20:45
- - AlexandrY   Цитата(mrprim @ Apr 25 2016, 23:45) Добро...   Apr 26 2016, 04:51
|- - mrprim   Цитата(AlexandrY @ Apr 26 2016, 05:51) Да...   Apr 26 2016, 05:34
|- - AlexandrY   Цитата(mrprim @ Apr 26 2016, 08:34) Польз...   Apr 26 2016, 05:42
|- - mrprim   Цитата(AlexandrY @ Apr 26 2016, 06:42) Чт...   Apr 26 2016, 06:01
||- - AlexandrY   Цитата(mrprim @ Apr 26 2016, 11:35) Да, с...   Apr 26 2016, 14:03
||- - mrprim   Цитата(AlexandrY @ May 4 2016, 20:49) Вот...   May 4 2016, 22:06
|- - Immortal_Buka   Цитата(mrprim @ Apr 26 2016, 10:13) Спаси...   Apr 27 2016, 06:44
- - mrprim   Доброго времени суток еще раз, на данный момент я ...   May 15 2016, 16:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01532 секунд с 7
ELECTRONIX ©2004-2016