mirror of
https://github.com/apache/nuttx.git
synced 2026-05-10 07:18:49 +08:00
arch/risc-v/k210: Remove QEMU support
Remove the CONFIG_K210_WITH_QEMU option and associated conditional code paths. The reasons for removal are: * Simplifies code path for real hardware by removing QEMU workarounds * The current QEMU target uses sifive_u machine, which is not designed for K210 emulation * For RISC-V QEMU simulation, the qemu-rv (rv-virt) target is a better choice * Renode can be used as an alternative for K210 simulation if needed Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
@@ -687,7 +687,6 @@ Documentation/platforms/risc-v/hpm6750/index.rst raiden00@railab.me
|
||||
Documentation/platforms/risc-v/index.rst matias@protobits.dev
|
||||
Documentation/platforms/risc-v/jh7110/boards/star64/index.rst luppy@appkaki.com
|
||||
Documentation/platforms/risc-v/jh7110/index.rst luppy@appkaki.com
|
||||
Documentation/platforms/risc-v/k210/boards/maix-bit/README-qemu.txt raiden00@railab.me
|
||||
Documentation/platforms/risc-v/k210/boards/maix-bit/README.txt raiden00@railab.me
|
||||
Documentation/platforms/risc-v/k210/boards/maix-bit/index.rst raiden00@railab.me
|
||||
Documentation/platforms/risc-v/k210/index.rst raiden00@railab.me
|
||||
|
||||
@@ -30,7 +30,7 @@ Features
|
||||
|
||||
.. todo::
|
||||
|
||||
If you are intersted in using this board, please consider contributing
|
||||
If you are interested in using this board, please consider contributing
|
||||
implementations for the above missing features.
|
||||
|
||||
Installation
|
||||
@@ -77,51 +77,6 @@ Write ``nuttx.bin`` to SPI-Flash:
|
||||
|
||||
The ``kflash_gui`` is not recommended because it's unstable.
|
||||
|
||||
QEMU Process
|
||||
============
|
||||
|
||||
In order to run this board's version of NuttX on QEMU, make the following
|
||||
adjustments:
|
||||
|
||||
QEMU Installation
|
||||
-----------------
|
||||
|
||||
Installing and building QEMU can be done with:
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ git clone https://github.com/qemu/qemu
|
||||
$ cd qemu
|
||||
$ ./configure --target-list=riscv64-softmmu
|
||||
$ make
|
||||
$ sudo make install
|
||||
|
||||
Building NuttX for QEMU
|
||||
-----------------------
|
||||
|
||||
Building NuttX follows the same process, but you will need to modify your chosen
|
||||
configuration to include the option ``CONFIG_K210_WITH_QEMU=y``.
|
||||
|
||||
Running on QEMU
|
||||
---------------
|
||||
|
||||
Run the following:
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ qemu-system-riscv64 -nographic -machine sifive_u -bios ./nuttx
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
To run Nuttx for kostest, ``gdb`` needs to be used to load both
|
||||
``nuttx_user.elf`` and ``nuttx``.
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ qemu-system-riscv64 -nographic -machine sifive_u -s -S
|
||||
$ riscv64-unknown-elf-gdb -ex 'target extended-remote:1234' -ex 'load nuttx_user.elf' -ex 'load nuttx' -ex 'c'
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
|
||||
+2
-2
@@ -29,8 +29,8 @@ config ARCH_CHIP_K210
|
||||
select ARCH_RV_ISA_M
|
||||
select ARCH_RV_ISA_A
|
||||
select ARCH_RV_ISA_C
|
||||
select ARCH_HAVE_FPU if !K210_WITH_QEMU
|
||||
select ARCH_HAVE_DPFPU if !K210_WITH_QEMU
|
||||
select ARCH_HAVE_FPU
|
||||
select ARCH_HAVE_DPFPU
|
||||
select ARCH_HAVE_MPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_MULTICPU
|
||||
|
||||
@@ -33,13 +33,9 @@
|
||||
|
||||
/* Map RISC-V exception code to NuttX IRQ */
|
||||
|
||||
#ifdef CONFIG_K210_WITH_QEMU
|
||||
#define K210_IRQ_UART0 (RISCV_IRQ_MEXT + 4)
|
||||
#else
|
||||
#define K210_IRQ_WDT0 (RISCV_IRQ_MEXT + 21)
|
||||
#define K210_IRQ_WDT1 (RISCV_IRQ_MEXT + 22)
|
||||
#define K210_IRQ_UART0 (RISCV_IRQ_MEXT + 33)
|
||||
#endif
|
||||
|
||||
/* Total number of IRQs */
|
||||
|
||||
|
||||
@@ -50,11 +50,3 @@ config K210_CPU_FREQ
|
||||
Set the K210 CPU target frequency in Hz.
|
||||
Default is 400000000 (400 MHz).
|
||||
Valid range: 40000000-600000000 Hz (40-600 MHz).
|
||||
|
||||
menu "K210 Others"
|
||||
|
||||
config K210_WITH_QEMU
|
||||
bool "qemu support"
|
||||
default n
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -32,11 +32,7 @@
|
||||
#define K210_CLINT_BASE 0x02000000
|
||||
#define K210_PLIC_BASE 0x0c000000
|
||||
|
||||
#ifdef CONFIG_K210_WITH_QEMU
|
||||
#define K210_UART0_BASE 0x10010000
|
||||
#else
|
||||
#define K210_UART0_BASE 0x38000000
|
||||
#endif
|
||||
#define K210_GPIOHS_BASE 0x38001000
|
||||
#define K210_FPIOA_BASE 0x502B0000
|
||||
|
||||
|
||||
@@ -66,7 +66,6 @@ uint32_t k210_get_cpuclk(void)
|
||||
* Name: k210_get_pll0clk
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CONFIG_K210_WITH_QEMU
|
||||
uint32_t k210_get_pll0clk(void)
|
||||
{
|
||||
uint32_t pll0;
|
||||
@@ -81,7 +80,6 @@ uint32_t k210_get_pll0clk(void)
|
||||
|
||||
return OSC_FREQ / nr * nf / od;
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: k210_clockconfig
|
||||
@@ -89,7 +87,6 @@ uint32_t k210_get_pll0clk(void)
|
||||
|
||||
void k210_clockconfig(void)
|
||||
{
|
||||
#ifndef CONFIG_K210_WITH_QEMU
|
||||
uint32_t clksel0;
|
||||
uint32_t div;
|
||||
|
||||
@@ -133,5 +130,4 @@ void k210_clockconfig(void)
|
||||
/* Workaround for stabilization */
|
||||
|
||||
up_udelay(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -46,11 +46,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_K210_WITH_QEMU
|
||||
#define MTIMER_FREQ 1000000
|
||||
#else
|
||||
#define MTIMER_FREQ (k210_get_cpuclk() / 50)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
|
||||
+1
-1
@@ -1116,7 +1116,7 @@ config ARCH_BOARD_LX_CPU
|
||||
config ARCH_BOARD_MAIX_BIT
|
||||
bool "Sipeed Maix Bit board"
|
||||
depends on ARCH_CHIP_K210
|
||||
select ARCH_HAVE_LEDS if !K210_WITH_QEMU
|
||||
select ARCH_HAVE_LEDS
|
||||
---help---
|
||||
This is the board configuration for the port of NuttX to the
|
||||
Sipeed Maix Bit board. This board features the RISC-V K210
|
||||
|
||||
Reference in New Issue
Block a user