C Code to Read and Write to SPI Flash Memory

In Progress


A small number of C functions are required to be written.

The software is to run on an ATMEL ATSAM4S16B ARM processor. The code will be in C to compile using atmel studio 6. The software is for an embedded system. RAM is very limited. No mallocs should be used - local variables should be limited.

It would be useful if you had the real hardware - this CPU and the AT25DF081 memory - to test your code. But this is unlikely and it is acceptable for you to write the code using atmel studio and I will test here. I may take 1-2 days or more to test the code that you send because I am very busy.


The software will be used to maintain a copy of some C arrays/structures in external SPI Flash memory in an AT25DF081 memory device. It is possible that, during a write to the AT25DF081, the data may be corrupted. So a checksum is needed to confirm that the data in the AT25DF081 is written correctly. If the data is corrupted in the AT25DF081, the main application can then safely ignore it.

So, a set of functions are needed which will read and write and check the data in the AT25DF081 memory:

The functions are fm_write, fm_read, and fm_checksum.

Basic operation is to write from main memory to the AT25DF081 and to read back again. To check that the data is correct in the AT25DF081

it is necessary to add a checksum and length value in the AT25DF081 memory area.

see text file for full info

Skills: C Programming

See more: code read write flash memory, flash read write, external spi flash atmel code, write programming code, write and copy, useful data structures, spi programming, set in c, set data structures, programming data structures in c, programming and data structures, functions in c# programming, functions in c programming, embedded programming in c, embedded c++ programming, data structures set, data structures in programming, data structures code, data structures arrays, data structures and programming, c# useful, c# read and write text file, c programming structures, c programming data structures, c programming arrays

Project ID: #5070398

Awarded to:


Hi from Spain Long time experience on embedded systems under ANSI C, ISO C99, ISO C11 Best regards Mike www. ninosoftware. com

£170 GBP in 2 days
(4 Reviews)

14 freelancers are bidding on average £242 for this job


Hi, I'm a embedded engineer with 8 years' experience. I'm good at C51, ARM MCU, and skilled at SPI, Flash programming. I have the experience of ATMEL MCU, in which I made a P2P mini cell phone using 2.4GHz RF tr More

£150 GBP in 3 days
(6 Reviews)

I am very proficient in c, c++. I have 15 years c++ developing experience now, and I have worked for 5 years. My work is online game developing, and mainly focus on server side, the lauguage is c++ under linux os. So, More

£300 GBP in 6 days
(24 Reviews)

I have worked with AT45DB161D memory and written the SPI and Memory Management Code on Cortex M Core Processor ! 33% First Milestone Writting SPI Driver ! 33% Second Milestone FLASH Mem Driver ! 33% Third Milesto More

£222 GBP in 7 days
(2 Reviews)

Hi, I have worked on AT91SAM7S with AT26DF081A & AT45DB321D external data-flash using SPI. Some flash do take some time to write data depending on the write speed and transfer rate. I would be able to work More

£888 GBP in 15 days
(1 Review)

Hello. Is this to be a library to be used by in another application then? I have read through your txt file and my understanding is that you want to store arrays and structures from a program into this memory device More

£100 GBP in 5 days
(1 Review)

Hi, I have over 20+ years of experience in embedded system design, During this period i have been worked on AVR uc. I have SPI flash code for (AT45DB642D - 8MB) interface with Atmega128. Developed on AVR-GCC using AVR More

£150 GBP in 3 days
(0 Reviews)

Hello there I have checked your requirements in detail. I can complete the task for you. I have experience developing software for many real time embedded systems. All your embedded software constraints will be m More

£130 GBP in 9 days
(0 Reviews)

WOW! It seems that this project was posted by me... As I can program wide variety of controllers including low end (8051,PIC,AVR,MSP430) and high end ARM Cortex-M core based (STM8,STM32,Kinetis controllers by Freescale More

£250 GBP in 14 days
(0 Reviews)

I worked with different types of flash before, I2C and SPI flash, I will just need the simulator and the data sheet for the processor.

£222 GBP in 7 days
(0 Reviews)

Hi, I am a Canadian Technology developer/expert and operate as a registered business. My first job was developing software for the UK in 1986. My first computer was a Sinclair ZX-81 in 1982 :) I am a C expe More

£277 GBP in 30 days
(0 Reviews)

Well we are new to it and have no review what you needed from a freelancer to judge his work...but have guts to make your work done within the time...can try to make it full. thanks.

£111 GBP in 10 days
(0 Reviews)

Hello, Thanks a lot for considering me for this work. I am working as an Senior Embedded Engineer in India with 5 years of overall experience. I had experience in working on C, Embedded, QNX RTOS, Algorithms, Electroni More

£220 GBP in 12 days
(1 Review)

I have previous hands on on ATMEGA micro-controller programming during. We had a auto bot which used to solve a maze. I can be contacted at +91-9553310800 for further discussions to understand properly the business ne More

£200 GBP in 5 days
(0 Reviews)