bare-metal

How to write to screen with video memory address 0xb8000 from real mode?

巧了我就是萌 提交于 2021-02-06 20:02:53
问题 I created simple code to load second sector from hard drive, and then write to whole screen, with spaces with red background. The problem is that always instead of spaces I got @ signs. This is the code: org 0x7C00 bits 16 xor ax,ax mov ds,ax mov es,ax mov bx,0x8000 cli mov ss,bx mov sp,ax sti cld clc xor ah,ah int 0x13 mov bx,0x07E0 mov es,bx xor bx,bx mov ah,0x2 ;function mov al,0x5 ;sectors to read mov ch,0x0 ;track mov cl,0x2 ;sector mov dh,0x0 ;head int 0x13 ;jc error ;mov ah, [0x7E00]

Linux Kernel Module Cheat - Qemu Baremetal Xilinx Zynq A9

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-29 20:00:38
问题 My goal is to emulate the ARM A9 processor as found on the Zynq-7000, running baremetal software. I have tried 2 different approaches to this and run into road blocks on both. Any suggestions on how to proceed would be appreciated. Current answers on StackOverflow: How to make bare metal ARM programs and run them on QEMU? which links to Linux Kernel Module Cheat (LKMC, using v3.0) built using ./build --arch arm qemu-baremetal The examples on the site of using the ARM virtual machine ( -virt

Atlas-SoC board preloader troubleshooting

扶醉桌前 提交于 2021-01-29 06:46:45
问题 I just bought a new Cyclone V board from Terasic ( Atlas-SoC ) and planned to build a bare metal application. At first, I used the GSRD provided by Terasic. The example project is from version 14.0 and my 17.1 Quartus asked me to launch an update to those 14.0 IP, but I saw that they already compile everything and I had a handoff file folder. All I needed to do was just make a preloader and uboot. Then I followed these steps (from rocketboard and many places else): Generate .rbf file. I made

Region ram overflowed and section .text will not fit region ram

巧了我就是萌 提交于 2020-12-31 06:24:52
问题 I'm trying to compile a bare-metal app with GCC compilator (Standart C). I use Cyclone V SoC with Cortex-A9 processor. Eclipse DS-5 . I get an errors - "Region ram overflowed by 295376 bytes" and "section .text will not fit region ram" . I think that the problem isn't in linker script but in something else. I see messages that compiler tries to add all my .c files in project into one .axf file even if I include none of them in my main .c file (where I write the program) When I delete some

Region ram overflowed and section .text will not fit region ram

删除回忆录丶 提交于 2020-12-31 06:24:23
问题 I'm trying to compile a bare-metal app with GCC compilator (Standart C). I use Cyclone V SoC with Cortex-A9 processor. Eclipse DS-5 . I get an errors - "Region ram overflowed by 295376 bytes" and "section .text will not fit region ram" . I think that the problem isn't in linker script but in something else. I see messages that compiler tries to add all my .c files in project into one .axf file even if I include none of them in my main .c file (where I write the program) When I delete some

Embedded System: Memory Layout when using Assembly Language

若如初见. 提交于 2020-12-12 05:38:59
问题 From my understanding, an embedded system runs machine code. There are multiple ways to generate this code. One is to write a programm in a higher level language like C and use a compiler to get such code. An other way is writing instructions in the assambly language for that embedded system and using an assembler to translate that to machine code. Now we got machine code which is loaded to the system and executed. The programm code is stored in non-volatile memory. Now, if the programm code

Embedded System: Memory Layout when using Assembly Language

倾然丶 夕夏残阳落幕 提交于 2020-12-12 05:38:04
问题 From my understanding, an embedded system runs machine code. There are multiple ways to generate this code. One is to write a programm in a higher level language like C and use a compiler to get such code. An other way is writing instructions in the assambly language for that embedded system and using an assembler to translate that to machine code. Now we got machine code which is loaded to the system and executed. The programm code is stored in non-volatile memory. Now, if the programm code