multiboot

FPGA

蹲街弑〆低调 提交于 2020-08-11 23:08:56
FPGA - Zynq - 加载 - BootROM 题外话 BootROM BootROM Header Definition BootROM Header Searching and Loading 总结 题外话 第一次使用Markdown编写博客,之前都是直接用word或者onenote写好之后复制到博客上,发现文字编排效果很差,不忍翻阅下去。所以转投markdown怀抱。 这里将会新开一个章节,专门更新关于Zynq的一些心得,我希望能够完成以下几个方面: 搞懂Zynq的底层机制 实现Multiboot和Fallback AXI4接口 PS部分,RTOS,Linux, etc PL部分, HDL 因此,我希望能够通过Zynq片上强大的FPGA资源和ARM资源,来完成FPGA工程师和ARM工程师的协同工作,一般来说FPGA部分来完成所有高速接口驱动以及一些高速算法(并行独立或者串行复用),然后ARM部分来完成通信协议的实现,不管是私有的(如用户自定义的串口协议的封包和解包)或者标准的(如TCP/IP或者USB等),以及FPGA的流程控制,错误状态控制还有远程更新控制等。 为了完成上述化学反应,一个很重要的方面就是如何协调ARM和FPGA(都是Zynq片上的资源),这个其实很多开发板的学习手册都已经给出了答案,那就是应用AXI4总线。那剩下的问题就是

x86 ASM: DD Being Used as an “Instruction”?

非 Y 不嫁゛ 提交于 2019-12-24 07:49:43
问题 In the following x86 assembly code: dd 0x1BADB002 dd 0x00 dd - (0x1BADB002+0x00) The values don't seem to be assigned to any variables. So what does this snippet of code do? I've heard something about it being stored in memory, but where exactly? 回答1: dd is a "pseudo-instruction" that assembles 4-byte constants into the output, the same way that add eax,eax assembles 0x01 0xc0 into the output. The NASM manual section 3.2 Pseudo-Instructions describes db / dw / dd and so on. In this case, as

Simplest chainloading a boot manager

笑着哭i 提交于 2019-12-22 10:49:12
问题 In order to boot from flash memory drive we load disks using the BIOS interrupt 13h in real mode with specifying the disk 0x80. Another disks should be accessed by 0x81, 0x82... as mentioned over this link I am trying to make my simple GRUB . My very first step is to boot from flash memory drive (Load MBR into 0x7C00 and print a message as a proof of correct boot) and read the my main HDD (which I assume it is numbered 0x81 and that the first 15 sectors are needed for booting) again into

Keyboard interrupt in x86 protected mode causes processor error

荒凉一梦 提交于 2019-12-20 02:59:19
问题 I'm working on a simple kernel and I've been trying to implement a keyboard interrupt handler to get rid of port polling. I've been using QEMU in -kernel mode (to reduce compile time, because generating the iso using grub-mkrescue takes quite some time) and it worked just fine, but when I wanted to switch to -cdrom mode it suddenly started crashing. I had no idea why. Eventually I've realized that when it boots from an iso it also runs a GRUB bootloader before booting the kernel itself. I've

Assembly: boot loader for custom OS keyboard support

大憨熊 提交于 2019-12-11 03:22:43
问题 I have a working simple custom OS (doesn't do much for now :D). Right now i'm using an assembly file (boot.s) that has no keyboard support. The assembly file (boot.s): # set magic number to 0x1BADB002 to identified by bootloader .set MAGIC, 0x1BADB002 # set flags to 0 .set FLAGS, 0 # set the checksum .set CHECKSUM, -(MAGIC + FLAGS) # set multiboot enabled .section .multiboot # define type to long for each data defined as above .long MAGIC .long FLAGS .long CHECKSUM # set the stack bottom

Reconfiguration of FPGA in ML605 Board

我是研究僧i 提交于 2019-12-10 12:04:58
问题 The aim of my project is to load 3 bitstreams into the PROM; according to our requirement we load the 1or second or 3 bit file. The way i approached to the problem statement is : Initially I have taken 2 trigger inputs, depending on it the 2 or 3 bit file will be loaded.. as the default one would be the First bit file (User Logic). USER LOGIC : Explanation First I have instantiated the ICAP Virtex 6 primitive, secondly, I have written a State machine in which I'm sending few IPROGRAM command

Simplest chainloading a boot manager

依然范特西╮ 提交于 2019-12-05 18:44:31
In order to boot from flash memory drive we load disks using the BIOS interrupt 13h in real mode with specifying the disk 0x80. Another disks should be accessed by 0x81, 0x82... as mentioned over this link I am trying to make my simple GRUB . My very first step is to boot from flash memory drive (Load MBR into 0x7C00 and print a message as a proof of correct boot) and read the my main HDD (which I assume it is numbered 0x81 and that the first 15 sectors are needed for booting) again into 0x7C00. I suppose that this naive idea should drop me into my main HDD's bootloader, but it is not as

Keyboard interrupt in x86 protected mode causes processor error

点点圈 提交于 2019-12-02 01:35:20
I'm working on a simple kernel and I've been trying to implement a keyboard interrupt handler to get rid of port polling. I've been using QEMU in -kernel mode (to reduce compile time, because generating the iso using grub-mkrescue takes quite some time) and it worked just fine, but when I wanted to switch to -cdrom mode it suddenly started crashing. I had no idea why. Eventually I've realized that when it boots from an iso it also runs a GRUB bootloader before booting the kernel itself. I've figured out GRUB probably switches the processor into protected mode and that causes the problem . the