https://github.com/embeddedcrab/freertos_tcpip_eth_port_xmc4500relax
This repository contains projects done on ARM processor/microcontroller in linux environment. XMC4500 Relax Kit, FreeRTOS w/Freertos Plus, Network Stack Porting over Ethernet, Linux Environment
https://github.com/embeddedcrab/freertos_tcpip_eth_port_xmc4500relax
arm c cpp environment freertos freertos-client freertos-iot freertos-plus freertos-server freertos-tcp infineon jlink linux-environemnt makefile tcp-ip tcp-socket xmc4500 xmc4500-ethernet xmc4500-relaxkit
Last synced: 3 months ago
JSON representation
This repository contains projects done on ARM processor/microcontroller in linux environment. XMC4500 Relax Kit, FreeRTOS w/Freertos Plus, Network Stack Porting over Ethernet, Linux Environment
- Host: GitHub
- URL: https://github.com/embeddedcrab/freertos_tcpip_eth_port_xmc4500relax
- Owner: embeddedcrab
- Created: 2020-01-04T20:01:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-06T09:53:49.000Z (over 4 years ago)
- Last Synced: 2025-01-17T13:50:59.649Z (5 months ago)
- Topics: arm, c, cpp, environment, freertos, freertos-client, freertos-iot, freertos-plus, freertos-server, freertos-tcp, infineon, jlink, linux-environemnt, makefile, tcp-ip, tcp-socket, xmc4500, xmc4500-ethernet, xmc4500-relaxkit
- Language: C
- Homepage:
- Size: 11.6 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# (ARM Cortex-M4F, XMC4500 Relax Kit, FreeRTOS w/Freertos+Plus, Linux Environment)
This repository contains projects done on ARM processor in linux environemnt.###################################################################################################################################
## Project List ##
### 1. Demo project done in linux environment for ARM Cortex M4F
This demo project contains simple led blinking using Systick interrupt for every specific interval in C and C++ environment.
I have used some specific compilation flags for demo build but you can change it according to your convinience and wish.### 2. FreeRTOS TCP/IP over Ethernet Porting on XMC4500 Relax Kit for Industrial/Automotive/IoT applications
It mainly focuses on FreeRTOS TCP/IP Server and Client application over Ethernet, CMSIS NN for Neural Networks(basics) using C/C++ for Industrial and IoT applications.Porting of FreeRTOS+Plus done on XCM4500 over ethernet with applications. You can take it as a reference if you are utilizing FreeRTOS Network stack in your application. It would not take you much time to port SW on another interface by using this.
You can use it as a base for you project which uses ARM Cortex-M4F microcontroller utilizing FreeRTOS, FreeRTOS-Plus with C/C++.
Client and server test python script (rough) is also available to test the network.###################################################################################################################################
You need ARM GNU toolchain for compilation and build which can be downloaded from ARM official website and JLink pack.
Version used - gcc-arm-none-eabi-7-2018-q2-update
Steps used to build executable using Makefile are as follows:
1. make all / make: build project executables
2. make clean: clean the generated outputs
3. make flash: start JLinkExe to flash the hex fileYou can add includes/header files directories, sources and objects in sources.mk and objects.mk respectively which will be taken for build using build.mk and the finally executed by Makefile to generate the output.
First need to build the output files using make, for that enter,
$ make all: which will start compilation process and generate .elf, .hex, .lst and .map file and object files in DEBUG/Output folderIf anything goes wrong while building w.r.t. errors or warnings then clean the outputs and update source code
$ make cleanAfter updation again try to build the project
$ makeIf successful, we can move to flashing the hex code in microcontrollers memory, for that,
$ make flash, you could have skipped make all/make and used make flash directly (totally depends on your wish)If your device is connected to your system while executing make flash, it will start the JLinkExe and will ask you to type in commands for further process.
You do not need to fill the device information, it will be filled from Makefile itself.JLink will prompt you to type connect, simply type connect as follows:
> connect, It will connect your device to host system. From here you can follow the further process.Commands are as follows:
1. erase: first erase the current flashed code from memory
> erase
2. loadfile: load the hex file into controllers memory, do not need to fill memory address range or anything
> loadfile
3. r: reset and halts the target
> r
4. g: start the CPU (go), which will start execution of your code on controller
> g
5. h: halt the processor to see the CPU registers
> h
6. q: quit the JLink session
> qUsing above steps you can load the hex file in microcontrollers memory and start the program.
Explore it, you will definitely like it.
Happy to Help and Share 😊
Cheers!!