Автор Тема: MMDVM_HS_Dual_Hat прошиваем из версии GPIO в USB и обратно  (Прочитано 655 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн UT3UDX

У меня было два дуплексных MMDVM(ADF7021) модема с Aliexpress, один MMDVM контроллер, две GM340, одна из которых нерабочая, две Raspberry PI#3 и  целое море разноцветных dupont-коннекторов - и не то, чтобы всё это было категорически необходимо для постройки усиленного хотспота, но если уж начал собирать коллекцию, то к делу надо подходить серьёзно.

Когда один контроллер и одна плата Raspberry заработали в составе репитера - освободился один MMDVM модем, еще одну Raspberry для него покупать не хотелось, и я решил прошить его прошивкой, которая позволяет использовать его через USB - другими словами подключить его к любому лэптопу, на котором можно запустить MMDVMHost.

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

Конфиг

[email protected](rw):MMDVM_HS# cat Config.h | grep -v "//" | grep -v "^$"

#if !defined(CONFIG_H)
#define  CONFIG_H
#define MMDVM_HS_DUAL_HAT_REV10
#define ENABLE_ADF7021
 #define DUPLEX
#define ADF7021_14_7456
#define AD7021_GAIN_AUTO
#define STM32_USART1_HOST
#define I2C_ADDR 0x22
#define ENABLE_SCAN_MODE
#define SEND_RSSI_DATA
#define SERIAL_REPEATER
#define LONG_USB_RESET
#define ENABLE_DEBUG
#endif

Собираю

[email protected](rw):MMDVM_HS# make
echo "#define GITVERSION \"5cbaf98\"" > GitVersion.h
arm-none-eabi-g++ obj_f1/DMRDMOTX.o obj_f1/IOArduino.o obj_f1/POCSAGTX.o obj_f1/MMDVM_HS.o obj_f1/SerialPort.o obj_f1/DStarRX.o obj_f1/IO.o obj_f1/YSFTX.o obj_f1/DStarTX.o obj_f1/DMRIdleRX.o obj_f1/P25TX.o obj_f1/BitRB.o obj_f1/NXDNRX.o obj_f1/Utils.o obj_f1/P25RX.o obj_f1/IOSTM.o obj_f1/SerialRB.o obj_f1/YSFRX.o obj_f1/DMRDMORX.o obj_f1/SerialArduino.o obj_f1/DMRSlotRX.o obj_f1/DMRRX.o obj_f1/CalDMR.o obj_f1/DMRSlotType.o obj_f1/ADF7021.o obj_f1/NXDNTX.o obj_f1/CalRSSI.o obj_f1/I2CHost.o obj_f1/SerialSTM.o obj_f1/DMRTX.o obj_f1/CWIdTX.o obj_f1/stm32f10x_i2c.o obj_f1/stm32f10x_rcc.o obj_f1/stm32f10x_usart.o obj_f1/misc.o obj_f1/stm32f10x_iwdg.o obj_f1/stm32f10x_gpio.o obj_f1/stm32f10x_exti.o obj_f1/system_stm32f10x.o obj_f1/startup_stm32f10x.o  -Os --specs=nano.specs --specs=nosys.specs -T normal.ld -mcpu=cortex-m3 -march=armv7-m -mthumb -Wall -Wextra  -o bin/mmdvm_f1.elf
Linking complete!

arm-none-eabi-size bin/mmdvm_f1.elf
   text    data     bss     dec     hex filename
  56816     176   11192   68184   10a58 bin/mmdvm_f1.elf
arm-none-eabi-objcopy -O ihex bin/mmdvm_f1.elf bin/mmdvm_f1.hex
Objcopy from ELF to IHEX complete!

arm-none-eabi-objcopy -O binary bin/mmdvm_f1.elf bin/mmdvm_f1.bin
Objcopy from ELF to BINARY complete!



Замыкаю перемычку BOOT1

 

заливаю на плату
[email protected](rw):MMDVM_HS# sudo make mmdvm_hs_dual_hat
/usr/local/bin/stm32flash -v -w bin/mmdvm_f1.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0
stm32flash 0.6

http://stm32flash.sourceforge.net/

Using Parser : Raw BINARY
Interface serial_posix: 57600 8E1

GPIO sequence start
 setting gpio 20 to 1... OK
 delay 100000 us
 setting gpio 21 to 0... OK
 delay 100000 us
 setting gpio 21 to 1... OK
GPIO sequence end

Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (STM32F10xxx Medium-density)
- RAM        : Up to 20KiB  (512b reserved by bootloader)
- Flash      : Up to 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x0800dea0 (100.00%) Done.

Starting execution at address 0x08000000... done.

GPIO sequence start
 setting gpio 20 to 0... OK
 delay 100000 us
 setting gpio 21 to 1... OK
GPIO sequence end


/usr/bin/stm32flash -v -w bin/mmdvm_f1.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0
stm32flash 0.5

http://stm32flash.sourceforge.net/

Using Parser : Raw BINARY
Interface serial_posix: 57600 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (STM32F10xxx Medium-density)
- RAM        : 20KiB  (512b reserved by bootloader)
- Flash      : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x0800dea0 (100.00%) Done.

Starting execution at address 0x08000000... done.


подключаю через USB порт - дальше оно не определяется ничем, ни устройство не появляется в /dev/ - ничего

перепрошивка на обычную прошивку ( GPIO ) работает, но мне нужно USB

[email protected](rw):pi-star# pistar-findmodem
Detected MMDVM_HS (GPIO): /dev/ttyAMA0 (MMDVM_HS_Dual_Hat-v1.5.2 20201108 14.7456MHz dual ADF7021 FW by CA6JAU GitID #5cbaf98FF36066E3937554157011124)



Вопрос - кто-то перепрошивал подобную плату , устанавливал загрузчик для работы без RaspberryPi ?
 
Пользователи, которые поблагодарили этот пост: UT4ULP

 

SimplePortal 2.3.7 © 2008-2021, SimplePortal