aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-06-20name binaries including their git version numberHEADmasterHarald Welte2-1/+154
Change-Id: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Related: OS#3452
2019-02-15minox: use RAM address define instead of hardcoded value0.1Kévin Redon1-1/+1
Change-Id: I81a42637194cbf0b5152fe38c691522021ab7582
2019-02-15fix DFU magic address and linker scriptKévin Redon2-9/+3
using the address specified in the linker script leads to a large output binary (as large as the address specified. instead the address is now specified in the source file. Change-Id: I69ad101593e903b74084f179cfc97fccccdfa5a3
2019-02-14set initial DFU state to ERROR if application is corruptKévin Redon2-1/+3
as specified in DFU standard Change-Id: Icd503a2d19f829eb43a83c28b526b73d595640f0
2019-02-14add force DFU using magic valueKévin Redon3-3/+26
if the string "DFU!" is found at the beginning of the RAM (e.g. as written by the main application during USB detach), the DFU bootloader will be started. Change-Id: I298e3697c06d352a6e0f47266097844c490e1722
2019-02-14minor: rename output binary to bootloaderKévin Redon2-4/+4
Change-Id: I4dfa761c482d6d061eddf3ff8ee91ec049955f53
2019-02-14add specific board support, including sysmoOCTSIMKévin Redon8-14/+109
the board specific definitions should be coded when particular environment variable/marco is defined. this macro name is provided by the makefile in the BOARD variable. this allows to compile the bootloader for specific devices. see README for more information. the board definition for the sysmoOCTSIM is also added. Change-Id: Ie51a3af7c77ba76ac40570b871f31fd527fb255b
2019-02-14fix USB transferBenjamin Freeman1-3/+1
this ASFv4 USB library change fixes USB transfer. two transfer-size issues existed: - on multi-packet transfer if the last packet was less than the USB transfer packet size, the packet would be received but not acknowledged - during normal transfer the packet size of a previous packet set the size of the current packet, ignoring the actual transfer size transfer with a combination of partial or full USB single packet, USB multi-packet, max transfer, and control endpoint sizes was successfully tested (in bytes): 4, 32, 64, 128, 129, 512, 516, 544, 576, 640, 641, 1024, 1028 Change-Id: Ic4e64168e865362e12e0b76386f964895b8b6c20
2019-01-31remove OCTSIM in USB IDKévin Redon2-31/+31
this bootloader is initiated and meant for the sysmo-OCTSIM, but it can be applied for other SAM E5x/D5x boards. Thus we remove the OCTSIM name an just use the more generic bootloader name. Change-Id: Icc46f0d8b4b649fd00b5c6cea5bad91a93891f14
2019-01-16reduce number of endpointsKévin Redon1-2/+2
only endpoint 0 is used, thus there is no need to define more. this also saves RAM. Change-Id: I52a5d2d3c3d09ca7dfa165535ccc295bf190841b
2019-01-16add button to force DFU bootloaderKévin Redon3-2/+12
Change-Id: I163ab2de0fcbe13532c1992f6b78d49f4cda2d88
2019-01-16start application if valid at bootKévin Redon2-42/+85
if the application is not valid, check and start the bootloader Change-Id: I323f2b3a1828d3e40a02c7fc755d07009fb43a85
2019-01-16add README fileKévin Redon1-0/+50
this describes the project, how to compile, and how to flash the USB DFU bootloader Change-Id: If884bca373aab10fe74d16f42b79dd6685eeabcf
2019-01-16use reserved bootloader get application startKévin Redon3-14/+18
the reserved bootloader size is set in the NVM user configuration and allows to know the application start address (e.g. after the bootloader) Change-Id: I9dda27d6401caabb4a6470aa3fe9691f63097136
2019-01-16enable flashing by providing real downloaded data lengthKévin Redon1-3/+1
Change-Id: I6f16170a4b41a70d89954e2c4a841efc67a26786
2019-01-16set USB string to osmocom osmo-ASF4-DFUKévin Redon1-4/+4
Change-Id: I001a7b6f54b3aaab04d55e84cd9ada0daa423805
2019-01-16add license fileKévin Redon1-0/+666
this include the LGPL v2.1 for the DFU stack, ASF for the ASFv4 library, and Apache 2.0 for the CMSIS. Change-Id: If7b127ddd23bd8c5d158a731d58d425cdf6330f4
2019-01-16remove unused example codeKévin Redon3-36/+3
Change-Id: I205cd02f0c9a55d22bb78e84a88a29afe31224b0
2019-01-16remove unused ARMCC MakefileKévin Redon3-884/+0
Change-Id: I232502798d71c97d0e7b4adf6bb6af3fa0940bd1
2019-01-16removed unused USB CDC stackKévin Redon8-1317/+0
Change-Id: Ib1735ad4add9278be9a1fb730752377de99c4f4b
2019-01-16implement flashing-side of the DFU state machineKévin Redon1-17/+69
the USB-side state machine currently sets the length to 0, preventing the actual flashing to be tested Change-Id: I5ed9cc2a22ed5e41bb59a3ce3f21ab098cec48e7
2019-01-16restructure and complete the USB-side DFU state machineKévin Redon1-44/+133
the USB control request are now handled in separate function depending on the direction (IN or OUT). download and manifestation are handled. numerous additional state machine fixes are included. Change-Id: I5237393c2789fdeddca2182da25ef417a2e71216
2019-01-16make USB descriptor available for the two state machinesKévin Redon3-5/+15
this is required to know the DFU bmAttributes since they affect the state machine Change-Id: Ib3907423bb9e197f53ed4522e8a5789a3d29489e
2019-01-16declare variables so the main loop can read the data to be flashed provided ↵Kévin Redon2-2/+25
by the USB stack Change-Id: I092357aad95abef1a781be1ea77944f2ea523dab
2019-01-16add system LED initialisationKévin Redon2-0/+9
Change-Id: I79f1b769fc9dd7e1a972bacf0928ff46988f0e36
2019-01-16add code to initialize flashKévin Redon2-0/+21
Change-Id: I2a208abb39a9da8796e2a4bcb803ce32686cb95f
2019-01-16add flash ASF4 driverKévin Redon8-3/+1705
this is imported from the Atmel Start website Change-Id: I5eccb37da64c7def7b99418773d09b6d98664432
2019-01-16add initial DFU class request handlingKévin Redon1-4/+49
downloading is not supported yet, but the rest works Change-Id: I4896d73602bb1b1001c1ce3af9b98e5173b45edf
2019-01-16add documentation and fix timeout valueKévin Redon2-10/+10
Change-Id: Ia1d6ef4e4a5c9929aefd149c4e3eaf2dfe37fea8
2019-01-16fix USB enablingKévin Redon1-21/+19
Change-Id: I22cdd77648ac21490909423bf529fb31f30d6af0
2019-01-16ignore gdb history fileKévin Redon1-0/+1
Change-Id: Ie3acf07ad7404fa3981baf65dab2a3ef416f9938
2019-01-16add USB DFU descriptionKévin Redon9-289/+712
uses the USB CDC ACM example code as template to create a USB DFU description according to USB DFU specification version 1.1 USB DFU stack is under LGPLv2.1 or later license Change-Id: I7bd6cb46b734ffe8a51f2de7083b4f9e76d385e6
2019-01-16ignore output filesKévin Redon1-0/+9
Change-Id: Ia6c90711a67a9b1cafc7a6cc3b07aa769e8684d0
2019-01-13Add git-review configMax1-0/+3
Change-Id: If28c2f4908f8df96b627fd42b7e122e559d9382a
2019-01-13add contrib/jenkins.sh for build verificationHarald Welte1-0/+17
Change-Id: I7ba3a711c3291ca3d61c8064e3e94ab2ae7563e3
2019-01-09use USB CDC Echo example projectKévin Redon284-0/+242151
this is the USB CDC Echo example project source code, for the Microchip SAM E54 Xplained Pro development board, based on the ATSAME54P20A micro-controller, exported from the Atmel START website, using the ASFv4 library. Change-Id: Ic0e58e42d1a4076bc84a0a8d3509ec4b09a37f46