Encerrado

Custom bootloader SAMD21G17A board bringup + custom mass storage device

I'm looking to do two things.

1) To create a msc bootloader for the device that a user can interact with

and

2) To set up a basic project file where I can interact with the onboard IO and components (accelerometor, buzzer, vibration motor, and move files back and forth from hidden to visible msc memory).

background information:

There is a 2MB flash memory chip which displays 1MB to user and 1MB is hidden partition.

The custom board is running a Samd21G17A, all components on the board have been verified working (Power, regulation, GPIO, USB, SPI, jlink reprogramming.) I will ship this board to you for development work.

an example of this process would be;

1) the user is given a new file to reprogram the device, the user plugs device into USB

2) The user copies the file to the USB mass storage device. this reprogramable file contains file contents as well as a new runtime program.

3) the user disconnects the USB, the bootloader see's this new file and takes over.

4) the bootloader deletes all hidden memory, copies over all new files to hidden partition, and overwrites program code in write access onboard flash.

things to note:

1) There should be a way to display to the user through the existing MSC and onboard leds that the reprogramming failed.

2) There should be a way to verify that the reprogramming was successful. possibly a check on number of files transferred, or a confirmation of a memory byte. or checksum etc etc.

Other than the bootloader and initial project file, all subsequent work can be another freelancer project,

this project scope involves a custom bootloader for user reprogramming, and a project file containing helper functions on controlling various I/O and components, (ie: calling acc/gyro positions, controlling leds, outputting this frequency on buzzer etc, functions to copy, move files from partition to partition.) essentially having all the building blocks to begin building a device program. many, if not all of these requests are already premade libraries.

Critical: this bootloader code must be open source incase anything on the hardware side changes and needs updating. project and bootloader code must be open source and delivered in full with no compiled custom libraries.

Microcontroller, Electronics, C Programming, Atmel, Python

Habilidades: Microcontrolador, Arduino, Eletrônica, Layout PCB, Programação C

Sobre o Cliente:
( 0 comentários ) Montreal, Canada

ID do Projeto: #31238338

3 freelancers estão ofertando em média $3667/hora nesse trabalho

jitendrabaraiya

I have more than 9 years experience in embedded hardware and firmware development with eagel , altium and kicad software . And I have already worked on samd21 serise chip on Arduino based ide . So I can do your job wit Mais

$4000 CAD / hora
(11 Comentários)
5.0
intellisenseIN

Hi there, We will surely write a custom bootloader for user reprogramming, and a project file containing helper functions on controlling various I/O and components, (ie: calling acc/gyro positions, controlling leds, o Mais

$3000 CAD / hora
(5 Comentários)
4.4
ArastuSystems1

Hello There, I have 10+ years of experience with different Micro controllers, IoT, AI, Embedded C, C++, and Linux domains. Acc. to the project description , you want a custom bootloader (2 partitions one for in us Mais

$4000 CAD / hora
(1 Comentário)
4.1