Getting Started

Complete Log outdir/zephyr.elf

    make
    Using /users/xe1gyq/MyHelloWorld/zephyr/arch/x86/configs/basic_minuteia_defconfig as base
    Merging /users/xe1gyq/MyHelloWorld/zephyr/kernel/configs/micro.config
    Merging prj_x86.conf
    *
    * Restart config...
    *
    *
    * Zephyr Kernel/x86 Configuration
    *
    Kernel Type
      1. Nano Kernel (NANOKERNEL) (NEW)
    > 2. Micro Kernel (MICROKERNEL)
    choice[1-2]: *
    * General Kernel Options
    *
    System tick frequency (in ticks/second) (SYS_CLOCK_TICKS_PER_SEC) [100] (NEW) 
    System clock's h/w timer frequency (SYS_CLOCK_HW_CYCLES_PER_SEC) [25000000] 25000000
    Initialize stack areas (INIT_STACKS) [N/y/?] (NEW) 
    Execute in place (XIP) [N/y/?] (NEW) 
    Enable ring buffers (RING_BUFFER) [N/y/?] (NEW) 
    Enable event logger (EVENT_LOGGER) [N/y/?] (NEW) 
    Enable profiler features (KERNEL_PROFILER) [N/y/?] (NEW) 
    *
    * Security Options
    *
    Customized security (CUSTOM_SECURITY) [N/y/?] (NEW) 
    Compiler stack canaries (STACK_CANARIES) [N/y/?] (NEW) 
    *
    * Nanokernel Options
    *
    Boot banner (BOOT_BANNER) [N/y/?] (NEW) 
    Interrupt latency metrics [EXPERIMENTAL] (INT_LATENCY_BENCHMARK) [N/y/?] (NEW) 
    Background task stack size (in bytes) (MAIN_STACK_SIZE) [1024] (NEW) 
    ISR and initialization stack size (in bytes) (ISR_STACK_SIZE) [2048] (NEW) 
    Task and fiber custom data (THREAD_CUSTOM_DATA) [N/y/?] (NEW) 
    Enable timeouts on nanokernel objects (NANO_TIMEOUTS) [N/y/?] (NEW) 
    Enable nanokernel timers (NANO_TIMERS) [N/y/?] (NEW) 
    *
    * Microkernel Options
    *
    Microkernel server fiber (_k_server) stack size (MICROKERNEL_SERVER_STACK_SIZE) [1024] (NEW) 
    Priority of the kernel service fiber (MICROKERNEL_SERVER_PRIORITY) [0] (NEW) 
    Maximum priority for priority inheritance algorithm (PRIORITY_CEILING) [0] (NEW) 
    Microkernel server command stack size (in packets) (COMMAND_STACK_SIZE) [64] (NEW) 
    Number of command packets (NUM_COMMAND_PACKETS) [16] (NEW) 
    Number of timer packets (NUM_TIMER_PACKETS) [10] (NEW) 
    Number of task priorities (NUM_TASK_PRIORITIES) [16] (NEW) 
    Workload monitoring [EXPERIMENTAL] (WORKLOAD_MONITOR) [N/y/?] (NEW) 
    Number of task IRQ objects (MAX_NUM_TASK_IRQS) [0] (NEW) 
    *
    * Timer API Options
    *
    Task time slicing (TIMESLICING) [Y/n/?] (NEW) 
      Time slice size (in ticks) (TIMESLICE_SIZE) [0] (NEW) 
      Time slicing task priority threshold (TIMESLICE_PRIORITY) [0] (NEW) 
    Task monitoring [EXPERIMENTAL] (TASK_MONITOR) [N/y/?] (NEW) 
    Kernel object monitoring [EXPERIMENTAL] (OBJECT_MONITOR) [N/y/?] (NEW) 
    Task and fiber monitoring [EXPERIMENTAL] (THREAD_MONITOR) [N/y/?] (NEW) 
    Advanced power management (ADVANCED_POWER_MANAGEMENT) [N/y/?] (NEW) 
    *
    * X86 Platform Configuration options
    *
    Amount of RAM given to the kernel (in kb) (RAM_SIZE) [192] (NEW) 
    Platform Selection
      1. Galileo Gen2 (PLATFORM_GALILEO) (NEW)
      2. IA32 with PCI (PLATFORM_IA32_PCI) (NEW)
    > 3. IA32 (PLATFORM_IA32)
    choice[1-3]: Intel Processor
      1. Atom (CPU_ATOM) (NEW)
    > 2. Minute IA (CPU_MINUTEIA)
    choice[1-2]: Enable cache flushing mechanism (CACHE_FLUSHING) [Y/?] (NEW) y
    *
    * Platform Capabilities
    *
    Advanced Idle Supported (ADVANCED_IDLE_SUPPORTED) [N/y/?] (NEW) 
    EOI Handler Supported (EOI_HANDLER_SUPPORTED) [Y/?] (NEW) y
    Unaligned Write Unsupported (UNALIGNED_WRITE_UNSUPPORTED) [N/y/?] (NEW) 
    Lock Instruction Unsupported (LOCK_INSTRUCTION_UNSUPPORTED) [N/y/?] (NEW) 
    Number of dynamic int stubs (NUM_DYNAMIC_STUBS) [0] (NEW) 
    Disable PIC (PIC_DISABLE) [Y/n/?] y
    *
    * Processor Capabilities
    *
    Support IA32 legacy IO ports (IA32_LEGACY_IO_PORTS) [Y/n/?] y
    Detect cache line size at runtime (CACHE_LINE_SIZE_DETECT) [Y/n/?] (NEW) 
    Detect support of CLFLUSH instruction at runtime (CLFLUSH_DETECT) [Y/n/?] (NEW) 
    *
    * Floating Point Options
    *
    Floating point instructions (FLOAT) [N/y/?] (NEW) 
    *
    * x86 Core Options
    *
    No Asynchronous Interrupts (NO_ISRS) [N/y/?] (NEW) 
    Enable nested interrupts (NO_NESTED_INTERRUPTS) [N/y/?] (NEW) 
    *
    * Memory Layout Options
    *
    Number of IDT vectors (IDT_NUM_VECTORS) [256] (NEW) 
    Number of spare GDT entries (NUM_GDT_SPARE_ENTRIES) [0] (NEW) 
    Physical load address (PHYS_LOAD_ADDR) [0x00100000] (NEW) 
    Reboot implementation
    > 1. Use the RST_CNT register (REBOOT_RST_CNT) (NEW)
    choice[1]: 1
    *
    * Device Drivers
    *
    Simple UART driver (UART_SIMPLE) [N/y/?] (NEW) 
    *
    * Console drivers
    *
    Console drivers (CONSOLE) [Y/n] y
      Enable console input handler (CONSOLE_HANDLER) [Y/?] (NEW) y
      Use UART for console (UART_CONSOLE) [Y/n/?] y
        UART Console Index (UART_CONSOLE_INDEX) [0] (NEW) 
        UART Console Baud Rate (UART_CONSOLE_BAUDRATE) [115200] (NEW) 
      Use RAM console (RAM_CONSOLE) [N/y/?] (NEW) 
      Inter-processor Interrupt console sender (IPI_CONSOLE_SENDER) [N/y/?] (NEW) 
      Inter-processor interrupt console receiver (IPI_CONSOLE_RECEIVER) [N/y/?] (NEW) 
    *
    * Serial Drivers
    *
    Serial Drivers (SERIAL) [Y/n/?] y
      *
      * Serial Port Options
      *
      Serial interrupt level (SERIAL_INTERRUPT_LEVEL) [Y/n/?] (NEW) 
      Serial interrupt low (SERIAL_INTERRUPT_LOW) [N/y/?] (NEW) 
      Interrupt driven UART support (UART_INTERRUPT_DRIVEN) [Y/?] (NEW) y
      NS16550 serial driver (NS16550) [Y/n/?] y
      K20 serial driver (K20_UART) [N/y/?] (NEW) 
      Stellaris serial driver (STELLARIS_UART) [N/y/?] (NEW) 
    *
    * Interrupt Controllers
    *
    LOAPIC (LOAPIC) [Y/?] y
      LOAPIC Debug (LOAPIC_DEBUG) [N/y/?] (NEW) 
      Local APIC Base Address (LOAPIC_BASE_ADDRESS) [0xFEE00000] (NEW) 
      IO-APIC (IOAPIC) [Y/?] (NEW) y
        IO-APIC Debugging (IOAPIC_DEBUG) [N/y/?] (NEW) 
        IO-APIC Base Address (IOAPIC_BASE_ADDRESS) [0xFEC00000] (NEW) 
        Number of Redirection Table Entries available (IOAPIC_NUM_RTES) [24] (NEW) 
    *
    * Timer Drivers
    *
    HPET timer (HPET_TIMER) [Y/n/?] y
      HPET timer legacy emulation mode (HPET_TIMER_LEGACY_EMULATION) [Y/n/?] y
      Enable HPET debug output (HPET_TIMER_DEBUG) [N/y/?] (NEW) 
      HPET Base Address (HPET_TIMER_BASE_ADDRESS) [0xFED00000] (NEW) 
      HPET Timer IRQ (HPET_TIMER_IRQ) [2] 2
      HPET Timer IRQ Priority (HPET_TIMER_IRQ_PRIORITY) [4] (NEW) 
      HPET Interrupt Trigger Condition
      > 1. Falling Edge (HPET_TIMER_FALLING_EDGE) (NEW)
        2. Rising Edge (HPET_TIMER_RISING_EDGE)
        3. Level High (HPET_TIMER_LEVEL_HIGH) (NEW)
        4. Level Low (HPET_TIMER_LEVEL_LOW)
      choice[1-4]: LOAPIC timer (LOAPIC_TIMER) [N/y/?] (NEW) 
    API to disable system clock (SYSTEM_CLOCK_DISABLE) [Y/?] (NEW) y
    *
    * Random Generation Configuration
    *
    Custom random generator (RANDOM_GENERATOR) [N/y/?] (NEW) 
      Non-random number generator (TEST_RANDOM_GENERATOR) [N/y/?] (NEW) 
    *
    * PCI Settings
    *
    Enable PCI (PCI) [N/y/?] (NEW) 
    *
    * GPIO Drivers
    *
    GPIO Drivers (GPIO) [N/y/?] (NEW) 
    Shared interrupt driver (SHARED_IRQ) [N/y/?] (NEW) 
    Shared interrupt instance 1 (SHARED_IRQ_1) [N/y/?] (NEW) 
    *
    * SPI hardware bus support
    *
    SPI hardware bus support (SPI) [N/y/?] (NEW) 
    *
    * I2C Drivers
    *
    I2C Drivers (I2C) [N/y/?] (NEW) 
    *
    * PWM (Pulse Width Modulation) Drivers
    *
    PWM (Pulse Width Modulation) Drivers (PWM) [N/y/?]     (NEW) 
    *
    * Enable platform pinmux driver
    *
    Enable platform pinmux driver (PINMUX) [N/y] (NEW) 
    *
    * ADC drivers
    *
    ADC drivers (ADC) [N/y/?] (NEW) 
    *
    * Cryptography
    *
    *
    * Compile and Link Features
    *
    The kernel binary name (KERNEL_BIN_NAME) [zephyr] (NEW) 
    Custom linker scripts provided (HAVE_CUSTOM_LINKER_SCRIPT) [N/y/?] (NEW) 
    Cross-compiler tool prefix (CROSS_COMPILE) [] (NEW) 
    Task-aware debugging with GDB (GDB_INFO) [N/y/?] (NEW) 
    Allow linking with --whole-archive (LINK_WHOLE_ARCHIVE) [N/y/?] (NEW) 
    Custom compiler options (COMPILER_OPT) [-O0 -g] -O0 -g
    Cross-compiler variant name (TOOLCHAIN_VARIANT) [] (NEW) 
    C Library
    > 1. Build minimal c library (MINIMAL_LIBC) (NEW)
      2. Build with newlib c library (NEWLIB_LIBC) (NEW)
    choice[1-2]: Build additional libc functions [EXPERIMENTAL] (MINIMAL_LIBC_EXTENDED) [N/y/?] (NEW) 
    *
    * Debugging Options
    *
    Build kernel with debugging enabled (DEBUG) [N/y/?] (NEW) 
    Send printk() to console (PRINTK) [Y/n/?] (NEW) 
    Send stdout to console (STDOUT_CONSOLE) [Y/n/?] y
    Send stdout at the earliest stage possible (EARLY_CONSOLE) [N/y/?] (NEW) 
    Enable __ASSERT() macro (ASSERT) [N/y/?] (NEW) 
    Enable system debugging information (DEBUG_INFO) [Y/?] (NEW) y
    Enable GDB Server [EXPERIMENTAL] (GDB_SERVER) [Y/n/?] y
      Maximum number of GDB Server Software breakpoints (GDB_SERVER_MAX_SW_BP) [100] (NEW) 
      Enable GDB interrupt mode (GDB_SERVER_INTERRUPT_DRIVEN) [Y/n/?] (NEW) 
      Enable the bootloader mode (GDB_SERVER_BOOTLOADER) [N/y/?] (NEW) 
    *
    * Safe memory access
    *
    Enable safe memory access (MEM_SAFE) [Y/?] (NEW) y
      Safe memory access implementation
      > 1. Software validation of memory access within memory regions (MEM_SAFE_CHECK_BOUNDARIES) (NEW)
      choice[1]: 1
    Number of safe memory access regions that can be added at runtime (MEM_SAFE_NUM_EXTRA_REGIONS) [0] (NEW) 
    Boot using Linux kexec() system call (BOOTLOADER_KEXEC) [N/y/?] (NEW) 
    Generic boot loader support (BOOTLOADER_UNKNOWN) [Y/?] (NEW) y
    *
    * System Monitoring Options
    *
    Enable performance metrics [EXPERIMENTAL] (PERFORMANCE_METRICS) [N/y/?] (NEW) 
    Reboot functionalities (REBOOT) [Y/?] (NEW) y
    #
    # configuration written to .config
    #
    make[1]: Entering directory '/users/xe1gyq/MyHelloWorld/zephyr'
    make[2]: Entering directory '/users/xe1gyq/MyHelloWorld/outdir'
      GEN     ./Makefile
    scripts/kconfig/conf --silentoldconfig Kconfig
      Using /users/xe1gyq/MyHelloWorld/zephyr as source for kernel
      GEN     ./Makefile
      CHK     include/generated/version.h
      UPD     include/generated/version.h
      HOSTCC  scripts/gen_idt/gen_idt.o
      HOSTLD  scripts/gen_idt/gen_idt
      CHK     misc/generated/configs.c
      UPD     misc/generated/configs.c
      CHK     include/generated/offsets.h
      UPD     include/generated/offsets.h
      CHK     misc/generated/sysgen/prj.mdef
      UPD     misc/generated/sysgen/prj.mdef
      LD      lib/libc/minimal/source/stdlib/built-in.o
      CC      lib/libc/minimal/source/stdout/fprintf.o
      CC      lib/libc/minimal/source/stdout/prf.o
      CC      lib/libc/minimal/source/stdout/sprintf.o
      CC      lib/libc/minimal/source/stdout/stdout_console.o
      LD      lib/libc/minimal/source/stdout/built-in.o
      CC      lib/libc/minimal/source/string/string.o
      LD      lib/libc/minimal/source/string/built-in.o
      LD      lib/libc/minimal/source/built-in.o
      LD      lib/libc/minimal/built-in.o
      LD      lib/libc/built-in.o
      LD      lib/built-in.o
      CC      arch/x86/core/gdt.o
      CC      arch/x86/core/thread.o
      CC      arch/x86/core/fatal.o
      AS      arch/x86/core/cpuhalt.o
      AS      arch/x86/core/excstub.o
      AS      arch/x86/core/swap.o
      AS      arch/x86/core/intboiexit.o
      AS      arch/x86/core/msr.o
      CC      arch/x86/core/excconnect.o
      CC      arch/x86/core/inthndlset.o
      CC      arch/x86/core/sys_fatal_error_handler.o
      AS      arch/x86/core/crt0.o
      AS      arch/x86/core/driver_static_irq_stubs.o
      CC      arch/x86/core/atomic_nolock.o
      AS      arch/x86/core/atomic.o
      AS      arch/x86/core/cache_s.o
      CC      arch/x86/core/cache.o
      CC      arch/x86/core/intconnect.o
      AS      arch/x86/core/intstub.o
      CC      arch/x86/core/strtask.o
      CC      arch/x86/core/x86_reboot.o
      CC      arch/x86/core/debug/debug_frames.o
      LD      arch/x86/core/debug/built-in.o
      LD      arch/x86/core/built-in.o
      CC      arch/x86/debug/gdb_arch.o
      LD      arch/x86/debug/built-in.o
      CC      arch/x86/platforms/ia32/ia32_config.o
      CC      arch/x86/platforms/ia32/ia32.o
      LD      arch/x86/platforms/ia32/built-in.o
      LD      arch/x86/built-in.o
      LD      arch/built-in.o
      CC      kernel/microkernel/k_task.o
      CC      kernel/microkernel/k_idle.o
      CC      kernel/microkernel/k_init.o
      CC      kernel/microkernel/k_command_packet.o
      CC      kernel/microkernel/k_move_data.o
      CC      kernel/microkernel/k_ticker.o
      CC      kernel/microkernel/k_memory_map.o
      CC      kernel/microkernel/k_memory_pool.o
      CC      kernel/microkernel/k_irq.o
      CC      kernel/microkernel/k_nop.o
      CC      kernel/microkernel/k_offload.o
      CC      kernel/microkernel/k_event.o
      CC      kernel/microkernel/k_mailbox.o
      CC      kernel/microkernel/k_mutex.o
      CC      kernel/microkernel/k_fifo.o
      CC      kernel/microkernel/k_semaphore.o
      CC      kernel/microkernel/k_timer.o
      CC      kernel/microkernel/k_pipe_buffer.o
      CC      kernel/microkernel/k_pipe.o
      CC      kernel/microkernel/k_pipe_get.o
      CC      kernel/microkernel/k_pipe_put.o
      CC      kernel/microkernel/k_pipe_util.o
      CC      kernel/microkernel/k_pipe_xfer.o
      CC      misc/printk.o
      CC      misc/mem_safe_check_boundaries.o
      CC      misc/reboot.o
      CC      misc/generated/configs.o
      CC      misc/generated/sysgen/kernel_main.o
      LD      misc/generated/sysgen/built-in.o
      LD      misc/generated/built-in.o
      LD      misc/built-in.o
      CC      debug/gdb_server.o
      LD      debug/built-in.o
      CC      ../src/../src/main.o
      LD      ../src/built-in.o
      CC      drivers/console/uart_console.o
      LD      drivers/console/built-in.o
      CC      drivers/interrupt_controller/i8259.o
      CC      drivers/interrupt_controller/system_apic.o
      CC      drivers/interrupt_controller/loapic_intr.o
      CC      drivers/interrupt_controller/ioapic_intr.o
      LD      drivers/interrupt_controller/built-in.o
      LD      drivers/random/built-in.o
      CC      drivers/serial/serial.o
      CC      drivers/serial/ns16550.o
      LD      drivers/serial/built-in.o
      CC      drivers/timer/hpet.o
      CC      drivers/timer/sys_clock_init.o
      LD      drivers/timer/built-in.o
      LD      drivers/built-in.o
      LINK    zephyr
      LD      zephyr.elf
      GEN     .version
      SIDT    zephyr.elf
      BIN     zephyr.bin
      SYSMAP  System.map
    make[2]: Leaving directory '/users/xe1gyq/MyHelloWorld/outdir'
    make[1]: Leaving directory '/users/xe1gyq/MyHelloWorld/zephyr'
    Loading /users/xe1gyq/MyHelloWorld//outdir/zephyr.elf on target...  done
    Starting application...  done
    Application is now running

## Partial Log outdir/zephyr.elf 

    make
    * Zephyr Kernel/x86 Configuration
    * General Kernel Options
    * Security Options
    * Nanokernel Options
    * Microkernel Options
    * Timer API Options
    * X86 Platform Configuration options
    * Platform Capabilities
    * Processor Capabilities
    * Floating Point Options
    * x86 Core Options
    * Memory Layout Options
    * Device Drivers
    * Console drivers
    * Serial Drivers
    * Interrupt Controllers
    * Timer Drivers
    * Random Generation Configuration
    * PCI Settings
    * GPIO Drivers
    * SPI hardware bus support
    * I2C Drivers
    * PWM (Pulse Width Modulation) Drivers
    * Enable platform pinmux driver
    * ADC drivers
    * Cryptography
    * Compile and Link Features
    * Debugging Options
    * Safe memory access
    * System Monitoring Options
    # configuration written to .config
    Using /users/xe1gyq/MyHelloWorld/zephyr as source for kernel
      SYSMAP  System.map
    make[2]: Leaving directory '/users/xe1gyq/MyHelloWorld/outdir'
    make[1]: Leaving directory '/users/xe1gyq/MyHelloWorld/zephyr'
    Loading /users/xe1gyq/MyHelloWorld//outdir/zephyr.elf on target...  done
    Starting application...  done
    Application is now running

Last updated