haarer / toolchain68k Goto Github PK
View Code? Open in Web Editor NEWbuild a toolchain for cross developement. Supports motorola m68k-elf, avr and arm-none-eabi
build a toolchain for cross developement. Supports motorola m68k-elf, avr and arm-none-eabi
So playing around with this, When compiling the m68k_example, I get the following:
appinit.c:26: undefined reference to `__sf_fake_stdin'
Not entirely sure what the cause of this is. I assume something with newlib, but not sure where to look.
any ideas?
Windows 10 (MSYS2).
The install_req_pkg_windows-latest.sh script is useful but may report the following issue.
looking for conflicting packages...
:: mingw-w64-x86_64-pkg-config and mingw-w64-x86_64-pkgconf are in conflict. Remove mingw-w64-x86_64-pkgconf? [Y/n]
It looks pkgconf is more recent, or is a new package to replace pkg-config. So, in theory, the script should use pkgconf.
The script works pretty well, it builds the newlib but not the libgcc and libstdc++ from gcc.
Windows 10 (MSYS2)
The install_req_pkg_windows-latest.sh script reports the following error:
grep: /mingw64/x86_64-w64-mingw32/include/usb.h: No such file or directory
ln: failed to create symbolic link '/mingw64/x86_64-w64-mingw32/include/': No such file or directory
usb.h may be present in another directories.
In my case, usb.h is in the /mingw64/include directory.
The compiler makefile for the 68k_example is set for -O0, which is basically no optimization.
I used the example skeleton for my CPU, and ported it over to the MC68010. Works fine, but I wanted to optimize the code a bit more for speed.
-O1 works fine. but -O2 or -O3, I get an Overlap Error:
m68k-elf-gcc -m68010 -I. -DREENTRANT_SYSCALLS_PROVIDED -D_REENT_SMALL -Wall -O2
-std=gnu99 -g -c -o glue.o glue.c
m68k-elf-gcc -m68010 -I. -DREENTRANT_SYSCALLS_PROVIDED -D_REENT_SMALL -Wall -O2
-std=gnu99 -g -c -o uart.o uart.c
m68k-elf-gcc -c -Wa,-adhlns=crt0.S.lst crt0.S -o crt0.o
m68k-elf-gcc -c -Wa,-adhlns=vector.S.lst vector.S -o vector.o
"---> link project to RAM ..."
m68k-elf-gcc crt0.o vector.o main.o appinit.o glue.o uart.o -m68010 -g -nostart
files -Wl,--script=ram.ld,-Map=CPU.map,--allow-multiple-definition -o CPU.elf
c:/msys64/home/user/toolchain68k/toolchain-m68k-elf-current/bin/../lib/gcc/m68k-
elf/9.2.0/../../../../m68k-elf/bin/ld.exe: section .text.startup LMA [0000000000
012a00,0000000000012a41] overlaps section .data LMA [0000000000012a00,0000000000
012f0f]
collect2.exe: error: ld returned 1 exit status
make: *** [CPU.elf] Error 1
I left the ram.ld script pretty much alone, I did change the memory locations and I even tried increasing the size to the max size of my system, but it didnt change anything.
Edit: This is with your stock toolchain, built as-is.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.