mirror of https://github.com/FOME-Tech/fome-fw.git
improve developer guide a little
This commit is contained in:
parent
99e4c704b4
commit
4a5bc67299
|
@ -0,0 +1,60 @@
|
|||
See also [../unit_tests](../unit_tests)
|
||||
|
||||
This directory contains the source code for the RusEFI firmware.
|
||||
|
||||
The ideal is that typical end users should be able to use pre-built
|
||||
firmware. They should not need to modify or even rebuild from the
|
||||
source code for basic use, but building from the source code provides
|
||||
the opportunity for optimization, supporting unexpected engine
|
||||
configurations, and specialized enhancements.
|
||||
|
||||
|
||||
TL;DR
|
||||
|
||||
``make PROJECT_BOARD=microrusefi PROJECT_CPU=ARCH_STM32F4``
|
||||
|
||||
# Environment
|
||||
|
||||
Building from source code requires this firmware, and a platform that
|
||||
supports 'make' based builds. The correct compiler is now included for
|
||||
both 64-bit Linux (Intel/AMD) and macOS (64-bit Intel and ARM) platforms.
|
||||
|
||||
Linux and MacOS systems should have the software development tools,
|
||||
primarily 'make', pre-installed or readily installed. MS-Windows
|
||||
requires selecting and installing a Unix-compatible system environment.
|
||||
|
||||
## Setup Instructions
|
||||
|
||||
## Editor/IDE
|
||||
|
||||
The supported IDE is [Visual Studio Code](https://code.visualstudio.com/).
|
||||
Others will work, but if you need help from the maintainers, you might not
|
||||
get much if you're using something else.
|
||||
|
||||
### Linux
|
||||
|
||||
1. Make sure you have the latest version of git installed: `sudo apt install git`
|
||||
1. Clone the repo. `git clone https://github.com/<github username>/fome-fw.git`
|
||||
1. Install additional dependencies: `cd fome-fw/firmware && ./setup_linux_environment.sh`
|
||||
1. Open vscode: `code fome-fw/`
|
||||
|
||||
### macOS
|
||||
|
||||
macOS setup is largely the same as Linux, except the setup script will not work.
|
||||
On recent versions of macOS, simply attempting to run `make` from the terminal
|
||||
will prompt installation of Xcode command line developer tools, which is the only
|
||||
prerequisite. Then, do steps 2 and 4 from the Linux setup instructions above.
|
||||
|
||||
### Windows
|
||||
|
||||
While technically possible to build on Windows, the preferred method is to first install
|
||||
the [Windows Subsystem for Linux (WSL)](), then follow the [instructions for Linux](#linux)
|
||||
above.
|
||||
|
||||
## Note
|
||||
|
||||
Note that the developers are volunteers, with varied motivations.
|
||||
These motivations often include using leading-edge language and build
|
||||
system concepts, requiring recent versions of tools. Should you
|
||||
encounter build problems, review the latest version of this document.
|
||||
If you're still having trouble, reach out on Discord in the #firmware channel.
|
|
@ -1,40 +0,0 @@
|
|||
|
||||
[Doxygen](https://rusefi.com/docs/html/)
|
||||
|
||||
[Q&A on source code](https://rusefi.com/forum/viewtopic.php?f=5&t=10)
|
||||
|
||||
See also [../unit_tests](../unit_tests)
|
||||
|
||||
This directory contains the source code for the RusEFI firmware.
|
||||
|
||||
The ideal is that typical end users should be able to use pre-built
|
||||
firmware. They should not need to modify or even rebuild from the
|
||||
source code for basic use, but building from the source code provides
|
||||
the opportunity for optimization, supporting unexpected engine
|
||||
configurations, and specialized enhancements.
|
||||
|
||||
|
||||
TL;DR
|
||||
|
||||
``make PROJECT_BOARD=microrusefi PROJECT_CPU=ARCH_STM32F4``
|
||||
|
||||
# Environment
|
||||
|
||||
Rebuilding from source code requires this firmware, a modern C/C++
|
||||
compiler for embedded ARM systems, and a platform that supports 'make'
|
||||
based builds.
|
||||
|
||||
See setup_linux_environment.sh
|
||||
|
||||
While many compilers have the potential to work, we suggest using the
|
||||
official ARM version of GCC available at launchpad.net.
|
||||
|
||||
Linux and MacOS systems should have the software development tools,
|
||||
primarily 'make', pre-installed or readily installed. MS-Windows
|
||||
requires selecting and installing a Unix-compatible system environment.
|
||||
|
||||
Note that the developers are volunteers, with varied motivations.
|
||||
These motivations often include using leading-edge language and build
|
||||
system concepts, requiring recent versions of tools. Should you
|
||||
encounter build problems, review the latest version of this document.
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# it's totally possible to develop on Windows. Also WSL is amazing!
|
||||
# TL,DR: use gcc 9.3
|
||||
# This script configures your Linux machine (probably just Debian/Ubuntu-based machine, really)
|
||||
# for FOME firmware development and compilation.
|
||||
#
|
||||
# by the way to uninstall package with old compiler version you might use
|
||||
# sudo apt remove binutils-arm-none-eabi gcc-arm-none-eabi libnewlib-arm-none-eabi
|
||||
# This script will also work on a Windows Subsystem for Linux installation on top of a Windows PC.
|
||||
#
|
||||
# Purposes for dependencies:
|
||||
# - `gcc`, `gdb`, `gcc-multilib`, `g++-multilib`: Native compilers for your PC, used for unit tests and simulator.
|
||||
# - `make`: GNU Make, build tool that orchestrates the correct build steps.
|
||||
# - `openjdk-8-jdk-headless`: Java compiler for FOME console and code generation tools.
|
||||
# - `mtools`, `zip`, `xxd`: Used to generate the on-ECU filesystem that stores the matching ini file.
|
||||
#
|
||||
|
||||
# This script will download and install all dependencies require to develop rusEFI on Linux.
|
||||
|
|
Loading…
Reference in New Issue