Questions tagged [microblaze]

The MicroBlaze is an open (usage documentation is available, but closed source) soft core Processor designed by Xilinx for their FPGAs. It is optimized for space usage and execution for Xilinx's FPGAs.

It is a RISC design with Harvard architecture and is capable of running complex operating systems like Linux. GCC has built-in support for MicroBlaze.

Even if MicroBlaze is not open source, it's architecture is documented and freely available. There are several open source implementations of MicroBlaze. See Wikipedia's article for a list of implementations.

The programs for it can be written in Assembler, C or C++.

See Also

103 questions
10
votes
3 answers

How does a debugger like gdb work to set a breakpoint through JTAG?

i'm working on debugging with gdb. i wanted to know how gdb works internally to set a brekpoint on an embedded processor through JTAG.
jenje
  • 101
  • 1
  • 3
7
votes
2 answers

get the physical address of a buffer under Linux

I am running Linux kernel 3.3 on Xilinx's Microblaze with full MMU. the task that I am doing requires me to know the following: I need to create a text file (buffer) and locate the physical address of this buffer and I don't want the kernel to write…
bromanous
  • 337
  • 1
  • 3
  • 10
6
votes
2 answers

Why does access to an unmapped location not generate a hardware exception (Microblaze)

I want to write my code that will handle TLB misses on the Microblaze and through that, of course, the page tables etc. This is all being done on OVPsim. As I am learning as I go I wrote this little piece of assembly to reference an unmapped…
adrianmcmenamin
  • 1,081
  • 1
  • 15
  • 44
5
votes
0 answers

How to force enum size with GCC?

To ensure binary compatibility with the product I'm working on, I need to force some of my enums to be represented by a single byte. Since C90 allows for the compiler to chose an appropriate type (6.7.2.2 Enumeration specifiers), I would like to…
Simon Doppler
  • 1,918
  • 8
  • 26
5
votes
1 answer

Unusual segfault when using C++ Std Lib on embedded Linux

Here's some sample test code I'm trying to run on an embedded Linux system: #include int main(int argc, char *argv[]) { char c = 'A'; int i = 7; std::cout << "Hello World from C++" << std::endl; std::cout << "c=" << c <<…
Sonic Atom
  • 436
  • 5
  • 15
5
votes
1 answer

xil_printf and XUartLite_SendByte

Why does xil_printf cause a stack overflow and XUartLite_SendByte does not? Can anyone explain this? The commented section(XUartLite_SendByte) works fine, but eventually i would like to call a function on i and return the result using xil_printf.…
user3446990
  • 77
  • 2
  • 8
4
votes
1 answer

GCC variables alignment issues

I'm using GCC compiler for Microblaze processor. Recently I have encountered a problem with variable alignment. I've noticed that sometimes the compiler allocates static variable to an unaligned address (the address is not divisible by 4), so if I…
Moshon
  • 71
  • 5
4
votes
1 answer

Thread safety of C++ on MicroBlaze

Has any one ever written a multi-threaded C++ application for MicroBlaze? The Xilinx documentation states that: The standard C library provided with EDK is not built for a multi-threaded environment. STDIO functions like printf(), scanf() and…
cherno
  • 808
  • 9
  • 15
3
votes
1 answer

Branch to Interrupt Handler on Microblaze CPU, Assembly Language

i'm pretty new to assembly language and microblaze cpus and i have a problem getting interrupt handling working. i'm forced to write my own startup and init routines. (stuff that is usually contained in crt0) and i guess i'm doing something wrong…
sema
  • 532
  • 7
  • 23
3
votes
1 answer

Microblaze & C++ | Why does the code size increase dramatically under certain conditions?

I have been developing embedded software for the Microblaze processor for more than a year using C++. My designs were not so complex, so I wasn't using the powerful, object-oriented features of the language. For a while, I have been trying to…
Caglayan DOKME
  • 948
  • 8
  • 21
3
votes
2 answers

Microblaze multiple interrupt code not working

I have a simple microblaze setup with two Gpio (Push button and switches). I want to handle both devices interrupts. Here follows my current non-working…
Gian
  • 41
  • 1
  • 6
3
votes
1 answer

simple data transfer with microblaze and lwip

So I cant find in the internet any simple example than echo program for microblaze and lwip which is working fine for me and here are thier files : echo.c : /* * Copyright (c) 2009 Xilinx, Inc. All rights reserved. * * Xilinx, Inc. * XILINX IS…
Omar shaaban
  • 257
  • 3
  • 19
3
votes
2 answers

Loop Unrolling -Microblaze C programming

Can we have loop unrolling in Microblaze C programming using EDK? This is required because I need more performance. Traditionally my C code will run serially, so having loop unrolling using some compiler directive can accelerate my application. (e.g…
gpuguy
  • 4,607
  • 17
  • 67
  • 125
2
votes
3 answers

How to include and translate custom instructions/extension on standard C/C++ code keeping performance high

I'm developing a general purpose image processing core for FPGAs and ASICs. The idea is to interface a standard processor with it. One of the problems I have is how to "program" it. Let me explain: The core has a instruction decoder for my "custom"…
amnl
  • 71
  • 3
2
votes
0 answers

Microblaze on QEMU not producing serial output

I'm trying to emulate baremetal Microblaze code using QEMU but don't get any output from the "print" function. The microblaze is produced from a xilinx project, this produces a .dts file which is used to make a .dtb for use with QEMU. I'm using…
StanOverflow
  • 557
  • 1
  • 5
  • 21
1
2 3 4 5 6 7