* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2. * Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks. * Firmware: unified codebase. * Core: do not include semaphore on old targets. Firmware: dfu uplaod target. * CI: submodules, add firmware build. * CI: proper submodule config. * refactor build system * CI: update chain to use new targets. Documentation: update to match current structure. * CI: clean before rebuild. * Add local test docker-compose exec dev make -C firmware TARGET=local TEST=1 run * Makefile: target specific build directory. CI: updated artifacts path. * Makefile: init git submodules if they don't exists. * Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util. * Makefile: proper rebuild sequence in zz and zzz * Makefile: timestamp tracking for flash and upload commands. * Apps: modular build. Input: fix flipper hal inline. * Wiki: proper bootloader link. * Applications: fix broken build for local targets. * add st-flash to docker * fix build * force rebuild app * move app force to firmware part * fix build deps * qrcode build ok * fix example display * add testing routine * update build instruction Co-authored-by: Aleksandr Kutuzov <aku@plooks.com> Co-authored-by: aanper <mail@s3f.ru>
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM ubuntu:18.04
 | 
						|
 | 
						|
ENV PATH /root/.cargo/bin:$PATH
 | 
						|
 | 
						|
RUN apt update && \
 | 
						|
    apt install -y --no-install-recommends \
 | 
						|
        make \
 | 
						|
        gcc-arm-none-eabi \
 | 
						|
        binutils-arm-none-eabi \
 | 
						|
        libnewlib-arm-none-eabi \
 | 
						|
        autoconf \
 | 
						|
        automake \
 | 
						|
        libtool \
 | 
						|
        curl \
 | 
						|
        wget \
 | 
						|
        g++ \
 | 
						|
        unzip \
 | 
						|
        build-essential \
 | 
						|
        python \
 | 
						|
        python-pip \
 | 
						|
        libstdc++-arm-none-eabi-newlib \
 | 
						|
        libclang-10-dev \
 | 
						|
        clang-format-10 \
 | 
						|
        && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 | 
						|
 | 
						|
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile=minimal --target thumbv7em-none-eabi thumbv7em-none-eabihf && \
 | 
						|
    rustup component add rustfmt --toolchain stable-x86_64-unknown-linux-gnu
 | 
						|
 | 
						|
# st-flash
 | 
						|
 | 
						|
RUN apt update && \
 | 
						|
    apt install -y --no-install-recommends \
 | 
						|
    gcc build-essential cmake libusb-1.0 libusb-1.0-0-dev libgtk-3-dev pandoc \
 | 
						|
    && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 | 
						|
RUN wget https://github.com/stlink-org/stlink/archive/v1.5.1.zip
 | 
						|
RUN unzip v1.5.1.zip
 | 
						|
RUN cd stlink-1.5.1 && make clean && make release
 | 
						|
RUN cd stlink-1.5.1/build/Release && make install && ldconfig
 | 
						|
 | 
						|
COPY entrypoint.sh syntax_check.sh /
 | 
						|
 | 
						|
RUN chmod +x /syntax_check.sh
 | 
						|
 | 
						|
ENTRYPOINT ["/entrypoint.sh"]
 |