Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

программирование ARM968E-S

Вс окт 15, 2017 20:35:41

Как то нужда по работе заставила соорудить bluetooth-rs232 адаптер, в роде бы казалось в интернете модно найти вагон готовых устройств, но все они меня не устраивали по габаритам и кучей лишних разъемов и проводов.Купил я у китайцев платку HC06, rs232-ttl преобразователь и нужный разъем, после долгих мучений все заработало и был счастлив, но до поры до времени.Однажды мне понадобилось настроить параметры передачи данных 7 бит в место 8 по умолчанию, китайцы сказали что это можно сделать на HC05, купил я и его, но изучив AT команды понял, что с помощью них не настроить и решил изготовить LPT программатор для изменения настроек чипа BC417 производства SCR.Скачал BlueLab4.1, в комплекте шла программа PSTool, с помощью которой я менял различные ключи в ПЗУ, но так и не нашел соответствующих ключ, и по всей видимости чип может только 8 битную передачу по UART.Почитав немного по AVR микропроцессорам и наткнувшись на статью в которой программист эмулирует UART программно, захотелось повторить это на bc417.
по запускал примеры из BlueLab, по изучал С и интерфейс встроенных библиотек понял, что скорее всего доступа к прерываниям процессора нет, поэтому все закончилось тем, что я почти закончил написание прошивки со своими AT командами, которые можно посылать как по воздуху так и по UART, так как я всегда приходил в недоумение от проектов где применялась плата BC06,BC05 и в место того, чтобы использовать чип bc417 к нему цеплялся AVR микроконтроллер.Вообщем проблема с передачей в 7 бит данных так и осталась не решена.Как то наткнулся на блютуз модуль SPP-C, на его плате установлен чип BK3231, даташит прилагаю.Эта документация по чипу несколько отличается от той которую можно быстро найти по гуглив, она более полная.В ней описан регистр для изменения нужного мне параметра 7 дата бит, но я никогда не работал с ARM, так как этот чип представляет ARM968E-S, синтезированный микроконтроллер семейства ARM.Скачал пару книг по ARM7, меня смущает, что там в основном описывается J-tag интерфейс, а в моя версия чипа с 32 выводами в место 56 содержит только SPI.Купил программатор J-Link (https://ru.aliexpress.com/item/NEW-1PC- ... 0.0.lnHtpe), можно ли с помощью него программировать данный камушек?Опишите вкратце, как что куда подключать как шить, инструменты разработки, вообщем все что может помощь определить направление развития.Документацию прилагаю.
Вложения
BK3231.pdf
(1.33 MiB) Скачиваний: 672
ARM968E-S.pdf
(1.57 MiB) Скачиваний: 431

Re: программирование ARM968E-S

Вс окт 15, 2017 23:43:39

Если Bluelab понимает язык Си, то тогда не нужны эти лишние движения. Просто пишите по нужному адресу требуемый конфиг. Если конечно известно куда и что записывать.

По чипу BK3231 лучше обратиться к разработчику за SDK так как врядли вы решитесь писать стек протокола bluetooth с нуля.

ЗЫ. Для отправки байтов с кадром 7N1 можно прозрачно использовать канал 8N1, просто последний бит выставлять всегда как 1. Получится в итоге 7N2. Вот для приёма это не всегда сгодится, только если стоит конфигурация 7N2.

Re: программирование ARM968E-S

Ср окт 18, 2017 22:36:52

Спасибо за отклик, я догадывался о передаче в формате 7, N,2,
но все же мне нужен как прием, так и передача,да и не хочется городить костыль.Да согласен, что нужны примеры со стеком блютуз, послал на почту производителя запрос, но что то мне подсказывает, что не ответят.Проблема в том, что у меня нет опыта работы с регистрами микроконтроллера, в документации прописаны все необходимые регистры, мне в принципе достаточно записать в ячейку памяти нужные биты, которые отвечают за параметр 7 бит данных.В программировании блюкор чипов в BlooeLab нет прямого взаимодействия с памятью, в место этого есть интерфейс в виде функций для каждого случая и программа в чипе выполняется в виртуальной машине.

Re: программирование ARM968E-S

Чт окт 19, 2017 09:43:46

Запись 4 байтного слова в память будет выглядеть так:
*((volatile uint32_t*) 0xABCDEFAB) = 0x01234567;
Адрес и значения подставить свои.

Как оно будет уживаться с виртуальной машиной мне неизвестно.

Re: программирование ARM968E-S

Чт окт 19, 2017 11:02:08

Буду пробовать на ARM, Для BC417 такое не прокатывает, по крайней мере с виртуальной машиной и блютуз стеком.
Ответить