1.I downloaded a few times, mainly either kernel w/o demo, or with demo and “source xxx” which I can see source files yet downloaded is empty. Is it normal?
2.somehow I tried merge them then build above demo, found .c/.h are spread into a few layer of folders, yet coding is flat. Add include folder in XIDE or IDE doesn’t help much. Looks like original programmer made it working in flat mode, than freeRTOS check in becomes tree layers w/o even try to rebuild.
3.I work on Linux git never see such problem. I really hope freertos git can be improved. if updated kernal cannot be compatible with old project , then each app shall have standalone git branch that is buildable, and comment clearly kernel version and tool chain used.
It’s not quite clear what you are saying, but I’m sure it’s not normal. If you want to use git then please use the instructions under “Cloning this repository” in the readme.md file. Otherwise you can just go to the releases section of git or the https://freertos.org site and download a zip file.
The directory hierarchy should look exactly as it does in Github. Each directly has a readme that explains what it is, and the website explains the directory structure too
There is a zip file and a git tag for every release of FreeRTOS going back 20 years. If you stick to one version it will be compatible - and its extremely rare for that versions are not compatible. That said the PIC18 ports are extremely old so it’s unlikely you would still get the tools for the projects.
Richard, Really appreciate your fast reply.
1.from Pinned there are two downloads: [FreeRTOS-Kernel] and [FreeRTOS]the 1st has no demo and no source fold (as it is source), the 2nd has FreeRTOS/Source [Source @ d5a10e4], yet when I downloaded the 2nd as .zip or its source fold is empty. I also tried using vs code git - w/o tree etc - the result the same, so I expect the traditional style w/o “@ d5a10e4”
Now I found the specific link above, yet downloaded zip shall contains files as it shown in the web. anyway, I merged or somehow I got full tree of FreeRTOS with Demo, then problem becomse what you mentioned in pt.2-3
2-3. make failure might come from non compatible kernel-Demo or tool chain. After import make failure, I use MPLAB X and installed C18 3.41, follow original .mcp to recreate project, blocked at no stdint.h (looks like I need to find a kernel version doesn’t use it) in C18, XC8 does have this file but old code has lots of compiler related keyword, say Microchip claimed #asm doesn’t work.
That’s why I suggested in my previous pt.3 - demo app needs to have statement of build env/tool chain/kernel version, if kernel is bundled it is even better. Various non compatible or not free toolchain on Pic also makes this demo mess.
Current PIC18F452 Demo has main1.c at the lower layer, refer to FreeRTOS.h in source folder, which in turn refer other .h back to lower layer, and FreeRTOS.h refers many other .h already refered in other .c files, kind of recursive structure, and in .c the included .h has no path prefix.
- I use PIC18F452 demo only because I plan to learn FreeRTOS and want to run rtos on 16F chips, now I realized it might be easier redo the port based on new chips’ linear RAM space, or write my own light weight rtos, or, seek other platform say ESP32 to learn FreeRTOS.
Did you read the readme.md files, as per my last post?
These are the release zip files - for the same reason as per the first reply above: Releases · FreeRTOS/FreeRTOS · GitHub
Hello @coxman, how did you download the repository?
Can you try running this command in the linux terminal?
git clone --recurse-submodules https://github.com/FreeRTOS/FreeRTOS.git ./FreeRTOS
This would download the WHOLE FreeRTOS repository along with FreeRTOS-Kernel and Demos in a folder called FreeRTOS
. The directory structure will match exactly with the one in GitHub. In this download, all the files should work with each other in tandem.
Also, please take a look at the links that Richard has posted.
Thanks
Thanks @Kanherea and @Richard!
All three links are helpful! Thanks for your time and help! Yeah I also tried XC8 stdint.h