MMDVM_HS/BUILD.txt
2017-04-19 17:38:13 -03:00

150 lines
4 KiB
Plaintext

Building instructions:
1) Raspberry Pi with ZUMSpot Pi:
* Download latest Raspbian image and install to a micro SD
- See: https://www.raspberrypi.org/documentation/installation/installing-images/
- Configure your SD before booting. Useful article:
https://styxit.com/2017/03/14/headless-raspberry-setup.html
- Boot your Raspberry Pi
- Run raspi-config and configure according your preferences:
sudo raspi-config
(at least expand filesystem and change default password. It's a good idea to enable "Wait
for Network at Boot" and disable Desktop GUI if you don't plan to use it)
* Enable serial port /dev/ttyAMA0 (Raspberry Pi 3 or Pi Zero W only):
- Edit /boot/cmdline.txt
sudo nano /boot/cmdline.txt
(remove the text: console=serial0,115200)
- Disable services:
sudo systemctl disable serial-getty@ttyAMA0.service
sudo systemctl disable bluetooth.service
- Edit /boot/config.txt
sudo nano /boot/config.txt
(add the following lines):
enable_uart=1
dtoverlay=pi3-disable-bt
- Reboot the RPi:
sudo reboot
* Enable serial port /dev/ttyAMA0 (Raspberry Pi 2 only):
- Edit /boot/cmdline.txt
sudo nano /boot/cmdline.txt
(remove the text: console=serial0,115200)
- Disable services:
sudo systemctl disable serial-getty@ttyAMA0.service
- Reboot the RPi:
sudo reboot
* Build de firmware and upload to ZUMSpot:
cd ~
- Install the necessary software tools:
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi
git clone https://git.code.sf.net/p/stm32flash/code stm32flash
cd stm32flash
make
sudo make install
cd ~
- Download the sources:
git clone https://github.com/juribeparada/MMDVM_HS
cd MMDVM_HS/
git clone https://github.com/juribeparada/STM32F10X_Lib
- Edit Config.h
nano Config.h
(and enable):
#define PI_HAT_7021_REV_03
#define ENABLE_ADF7021
#define ADF7021_N_VER (only if your board uses ADF7021N)
#define BIDIR_DATA_PIN
#define ADF7021_14_7456
#define STM32_USART1_HOST
#define ENABLE_SCAN_MODE
- Build the firmware:
make
- Upload the firmware to ZUMSpot Pi board:
sudo make zumspot-pi
* Install MMDVMHost:
cd ~
git clone https://github.com/g4klx/MMDVMHost/
cd MMDVMHost/
make
- Edit MMDVM.ini according your preferences
nano MMDVM.ini
(use Port=/dev/ttyAMA0 in [Modem])
- Execute MMDVMHost:
./MMDVMHost MMDVM.ini
2) ZUMSpot USB:
* Windows:
coming soon...
* Linux:
coming soon...
3) Makefile options:
make clean: delete all objects files *.o, for starting a new firmware building.
make: it builds a standard firmware (without USB bootloader support).
make bl: it builds a firmware with USB bootloader support.
make zumspot-pi: upload the firmware to a ZUMSpot Pi version (using internal RPi serial port)
make dfu [devser=/dev/ttyXXX]: upload firmware using USB bootloader. "devser" is optional,
and it corresponds to the USB serial port device name. This option permits to perform a reset
to enter to booloader mode (DFU). If you don't use "devser", you have to press the reset button
of the ZUMSpot just before using this command.
make serial devser=/dev/ttyXXX: upload standard firmware using serial port bootloader method.
make serial-bl devser=/dev/ttyXXX: upload firmware with USB bootloader support using serial
port bootloader method.
make stlink: upload standard firmware using ST-Link interface.
make stlink-bl: upload firmware with USB bootloader support using ST-Link interface.
make ocd: upload standard firmware using ST-Link interface. This method uses a local
openocd installation.
make ocd-bl: upload firmware with USB bootloader support using ST-Link interface. This
method uses a local openocd installation.
* Common Makefile commands:
- Serial programming (first programming, transfer the USB bootloader):
make clean
make bl
sudo make serial-bl devser=/dev/ttyUSB0
- USB programming (you have already transfered the USB bootloader):
make clean
make bl
sudo make dfu (reset ZUMSpot before) or
sudo make dfu devser=/dev/ttyACM0 (/dev/ttyACM0 is the device name of ZUMSpot USB under
Raspbian)
- ZUMSpot Pi (no USB support needed):
make clean
make
sudo make zumspot-pi
4) Config.h options:
coming soon...