Go to advanced search

by dwelch67
Fri Jun 14, 2019 3:20 pm
Forum: Bare metal, Assembly language
Topic: Any Tutorial to Create a Cross Compiler for ARM? Rpi3
Replies: 5
Views: 462

Re: Any Tutorial to Create a Cross Compiler for ARM? Rpi3

https://github.com/dwelch67/build_gcc I have scripts to build arm (aarch32) and aarch64 cross compilers on linux. I used to maintain them for windows as well but dont boot windows but once every few years. would use mingw32 back then, cygwin would have worked, but now windows has some bash thing don...
by dwelch67
Sat May 04, 2019 1:22 am
Forum: Bare metal, Assembly language
Topic: JTAG Recommendations
Replies: 20
Views: 1582

Re: JTAG Recommendations

I didnt need to cut a trace, just soldered to the pin on the camera connector.
by dwelch67
Sat May 04, 2019 1:21 am
Forum: Bare metal, Assembly language
Topic: JTAG Recommendations
Replies: 20
Views: 1582

Re: JTAG Recommendations

You only need to find TMS that way using the old old original (available to the masses) cards, from there on out they were on a pin in the P1 connector, no soldering required. You dont need trst, but if you do then it is not in a standard place with an ftdi mpsse chip, it is just a gpio so different...
by dwelch67
Tue Apr 23, 2019 9:23 pm
Forum: Bare metal, Assembly language
Topic: CPU Execution Speed
Replies: 10
Views: 1084

Re: CPU Execution Speed

look in my bench02 directory in the (old) raspberrypi repo (github.com/dwelch67/raspberrypi). port that forward as needed.

David (dwelch67)
by dwelch67
Tue Apr 23, 2019 9:21 pm
Forum: Bare metal, Assembly language
Topic: CPU Execution Speed
Replies: 10
Views: 1084

Re: CPU Execution Speed

.globl ARMTEST3 ARMTEST3: subs r0,r0,#1 nop nop nop nop nop nop nop nop subs r0,r0,#1 nop nop nop nop nop nop nop nop subs r0,r0,#1 nop nop nop nop nop nop nop nop subs r0,r0,#1 nop nop nop nop nop nop nop nop subs r0,r0,#1 nop nop nop nop nop nop nop nop subs r0,r0,#1 nop nop nop nop nop nop nop no...
by dwelch67
Tue Apr 23, 2019 9:17 pm
Forum: Bare metal, Assembly language
Topic: CPU Execution Speed
Replies: 10
Views: 1084

Re: CPU Execution Speed

you can find my experiments too from years ago. Your loop has the problem that at least three instructions in a row are waiting on the instructions just before to complete, so you lose a lot of the features of a pipeline like this, for example a loop with a bunch of the same instruction add r0,r0,#1...
by dwelch67
Thu Apr 04, 2019 9:35 pm
Forum: Bare metal, Assembly language
Topic: JTAG Recommendations
Replies: 20
Views: 1582

Re: JTAG Recommendations

for the original pis basically the pi-zero is what you can buy new today. jtag is simple. I recommend openocd 0.9.0 as 0.10.0 and later is problematic not just with arm11s but I think cortex-ms too. certainly with arm11's though. If you dont hook up reset you can use the legacy ft2232 mode as the ne...
by dwelch67
Thu Apr 04, 2019 9:30 pm
Forum: Bare metal, Assembly language
Topic: JTAG Recommendations
Replies: 20
Views: 1582

Re: JTAG Recommendations

I wouldnt say there are no recommendations, there was a lengthy discussion or two on jtag. The FT232H breakout from adafruit https://www.adafruit.com/product/2264 is more than adequate for the job. The problem is not the debugger but setting up openocd or whatever else, now maybe if you spend hundre...
by dwelch67
Tue Jan 29, 2019 6:09 pm
Forum: Bare metal, Assembly language
Topic: Spider-OS a new operating system
Replies: 90
Views: 9408

Re: Spider-OS a new operating system

Note that writing an operating system in assembly does not mean small nor fast. This are misunderstandings, doesnt meant you are learning the system any better than you would using mostly C plus a little ASM. That is also a misunderstanding. Doesnt mean you shouldnt try but if those are your goals a...
by dwelch67
Tue Dec 11, 2018 10:54 pm
Forum: Bare metal, Assembly language
Topic: Pi 3B+ Activity LED
Replies: 23
Views: 8389

Re: Pi 3B+ Activity LED

Nope but it has a pretty obvious bug ... not 27 .. try 9 .. no idea where the 27's come from ra=GET32(GPFSEL2); ra&=~(7<<27); ra|=1<<27; PUT32(GPFSEL2,ra); Each GPFSEL covers 10 GPIO as they are 3 bits .. 10x3 = 30 bits of the 32 bit register .. look at datasheet GPFSEL0 = GPIO0 .. 9 GPFSEL1 = GPIO...
by dwelch67
Wed Oct 17, 2018 2:03 pm
Forum: Bare metal, Assembly language
Topic: Schematics/address map
Replies: 3
Views: 1660

Re: Schematics/address map

We were very surprised to get any documentation of any kind from Broadcom, and not surprised that that for the most part ended as quickly as it started, I would not expect to find any more schematics or documentation than you have already found. I wouldnt expect any more schematics nor chip details ...
by dwelch67
Tue Oct 09, 2018 2:47 pm
Forum: Bare metal, Assembly language
Topic: Specs for RPi Zero W Wifi hardware?
Replies: 11
Views: 3290

Re: Specs for RPi Zero W Wifi hardware?

No different than working with an ESP8266. It has firmware that was downloaded to make the interface to an mcu or other really easy, there are various solutions making different (incompatible) interfaces to the ESP8266. Or with an ESP8266 you can write the firmware yourself that is downloaded and ru...
by dwelch67
Mon Oct 08, 2018 6:09 pm
Forum: Bare metal, Assembly language
Topic: Help With Simple Hello World Program in Bare Metal ASM
Replies: 4
Views: 1865

Re: Help With Simple Hello World Program in Bare Metal ASM

its a pi-zero so 0x20xxxxxx is correct yes?
by dwelch67
Wed Sep 26, 2018 10:17 pm
Forum: Bare metal, Assembly language
Topic: Building a network stack
Replies: 12
Views: 1835

Re: Building a network stack

lwip is a popular solution. As mentioned above it depends on whether you have a reason to write your own. And at what level. ARP and ping will be your first test to get your feet wet. With practice you can bang out a (special purpose) UDP stack (with cheats) in an afternoon. And when I say that I ha...
by dwelch67
Wed Sep 26, 2018 3:34 am
Forum: Bare metal, Assembly language
Topic: Support For Bare Metal Programming
Replies: 8
Views: 2654

Re: Support For Bare Metal Programming

I mentioned the microcontrollers as another path someday. zero support for it at this site, this is raspberry pi only. since you found this forum I would start here with a pi-zero or one of the arm11 based raspberry pi boards. then choose your next path. can stay here and move to armv7 mode of a pi3...
by dwelch67
Mon Sep 24, 2018 3:35 am
Forum: Bare metal, Assembly language
Topic: Support For Bare Metal Programming
Replies: 8
Views: 2654

Re: Support For Bare Metal Programming

You have found the right place. I highly highly recommend you start with a pi-zero, which is armv6 based, the armv7 and armv8 on the pi3 is a whole other level of pain. There are other armv6 based pis you can sometimes get the pi1 A+ for lack of a better term. You will need an sd card of course, don...
by dwelch67
Sun Sep 16, 2018 8:52 pm
Forum: Bare metal, Assembly language
Topic: Limit on the size of a bare metal program?
Replies: 5
Views: 1741

Re: Limit on the size of a bare metal program?

Yeah I dont use interrupts unless I have to, or unless I want to do a simple demonstration as they are a bigger trap than just booting a processor. One little mistake and pain. Uart interrupts are generally tricky, depends on the uart (talking general not necessarily pi) Usually you get an interrupt...
by dwelch67
Sun Sep 16, 2018 8:32 pm
Forum: Bare metal, Assembly language
Topic: Limit on the size of a bare metal program?
Replies: 5
Views: 1741

Re: Limit on the size of a bare metal program?

That was an arbitrary limit. I tend to use minimalish sizes on my examples so that I dont have to keep changing the linker script every time. Historically and probably still you could (can) adjust the split length to determine how much if the ram goes to the arm and how much to the GPU so even for a...
by dwelch67
Wed Aug 08, 2018 2:16 am
Forum: Bare metal, Assembly language
Topic: Clang question (unwanted memset and memcpy calls in Assembly)
Replies: 16
Views: 2276

Re: Clang question (unwanted memset and memcpy calls in Assembly)

Can you please post some example code that causes the problem(s) with these tools. Note gcc 8.2.0 is out, curious to see this gcc 8.x.x issue (as well as the clang/llvm).

David
by dwelch67
Mon Aug 06, 2018 7:20 pm
Forum: Bare metal, Assembly language
Topic: Clang question (unwanted memset and memcpy calls in Assembly)
Replies: 16
Views: 2276

Re: Clang question (unwanted memset and memcpy calls in Assembly)

note my llvm/clang preference was to build to bitcode/bytecode whatever they call it (--emit-llvm) unoptimized on the compiler then combine all the code into one file then run the optimizer on that one file then use llc to make the target specific asm or object file since it can do that now. no doub...
by dwelch67
Mon Aug 06, 2018 6:29 pm
Forum: Bare metal, Assembly language
Topic: Clang question (unwanted memset and memcpy calls in Assembly)
Replies: 16
Views: 2276

Re: Clang question (unwanted memset and memcpy calls in Assembly)

try
-disable-simplify-libcalls
still looking
by dwelch67
Mon Aug 06, 2018 6:23 pm
Forum: Bare metal, Assembly language
Topic: Clang question (unwanted memset and memcpy calls in Assembly)
Replies: 16
Views: 2276

Re: Clang question (unwanted memset and memcpy calls in Assembly)

been there, dealt with this, I think it is a longer obscure command line option, will see if I can find it, but yes it is annoying that they do that...I stopped using clang in the 3.x days because every release the command line options changed and it became unmanagable to provide examples or maintai...
by dwelch67
Fri Jul 27, 2018 2:14 pm
Forum: Bare metal, Assembly language
Topic: RPi 2 and OpenOCD
Replies: 24
Views: 11896

Re: RPi 2 and OpenOCD

which flavor of rpi2? there are two different ones with different processor cores, I dont expect the jtag access to be the same.
by dwelch67
Wed Jul 11, 2018 11:15 pm
Forum: Bare metal, Assembly language
Topic: Bare metal malloc
Replies: 9
Views: 1890

Re: Bare metal malloc

Not knowing your application there are ways to statically "allocate" space for buffers that might have in an normal situation been allocated dynamically. so depending on what you are doing you might still be able to get rid of malloc. Yes, in theory the mmu is slower. When we say 1:1 we mean 0x10000...

Go to advanced search