mansetagunj / ECEN-5813-Final-Project

Bare Metal Firmware for FRDM KL25Z development board

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project3 for PES Contributors: Gunj Manseta / Ashish Tak

Time profiler results can be found in the "Time Profiler Results" folder

(For BBB and Host, the non-DMA version (my_memmove/my_memset) is called twice instead of the DMA version)

Results on FRDM_KL25Z with -O0 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/FRDM_normal_results.txt

Results on FRDM_KL25Z with -O3 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/FRDM_opt_results.txt

Results on BBB with -O0 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/BBB_normal_results.txt

Results on BBB with -O3 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/BBB_opt_results.txt

Results on Host machine with -O0 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/HOST_normal_results.txt

Results on Host machine with -O3 https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/HOST_opt_results.txt

Nordic Test Results https://github.com/mansetagunj/PES_Assignment/blob/master/Project3/Time%20Profiler%20Results/Nordic%20Test%20Results.txt

Observations: For FRDM_KL25Z, the DMA version takes a significantly lesser time than the non-DMA version, since the transfer is offloaded from the processor. Further, for the non-DMA version, the transfer time is reduced with increase in optimization to O3. The least amount of time however, is for the standard library function.

On increasing the number of transferred bytes from 10 upto 1000 bytes, the time required per byte transfer drops gradually.

Makefile Description: Builds and Compile Time switches available: 1. compile-all : Compiles all the .c/.s files to .o files \n
2. build : Compiles and Links all the .o files to .elf output file\n
3. clean : Cleans all the make generated files \n
4. generate-lib : Generates the .a library from .o files \n
5. build-lib : Generates the .a library, links it with main.o to generate .elf output file\n
6. size : Executes 2. build target and creates a code size file.\n
7. code-dump-report :Generates the code dump report \n
8. clean-lib : Cleans the library created \n
9. help : Shows all the builds and compile time switch available \n
Switches available:\n
1. PLATFORM = { HOST, BBB, KL25Z }\n
2. VERBOSE = true\n"

About

Bare Metal Firmware for FRDM KL25Z development board


Languages

Language:C 97.0%Language:Assembly 1.4%Language:Makefile 0.8%Language:C++ 0.5%Language:Python 0.2%Language:Batchfile 0.1%