在设置C环境之前,如何使用assembly在uboot中编写控制台(或类似printf()函数)?
在设置c环境之前,我尝试使用assembly在uboot流中编写控制台。我引用了芯片供应商的UART固件驱动程序,以便在uboot流程开始时(在重置中)转换为汇编。 问题1:SOC mmio地址是否在uboot请求中起作用?例如:在SOC规范中定义UART#U基0x11000000,我可以使用此地址控制UART吗? 2.如果使用nand引导,这些汇编代码在哪里运行?Nand SPL UBOOT到ram不是在乞讨 (这些地址来自SOC供应商规范) MMIO是(硬件)内存映射I/O,因此它已经可以工作了。但是,在能够写入字符之前,您可能需要为UART正确配置寄存器。这些通常包括UART设置,如波特率、流量控制等。您可以参考芯片参考手册了解值和地址在设置C环境之前,如何使用assembly在uboot中编写控制台(或类似printf()函数)?,c,assembly,arm,u-boot,C,Assembly,Arm,U Boot,在设置c环境之前,我尝试使用assembly在uboot流中编写控制台。我引用了芯片供应商的UART固件驱动程序,以便在uboot流程开始时(在重置中)转换为汇编。 问题1:SOC mmio地址是否在uboot请求中起作用?例如:在SOC规范中定义UART#U基0x11000000,我可以使用此地址控制UART吗? 2.如果使用nand引导,这些汇编代码在哪里运行?Nand SPL UBOOT到ram不是在乞讨 (这些地址来自SOC供应商规范) MMIO是(硬件)内存映射I/O,因此它已经可以工
_UART_Init_and_write_a_char:
mov r11, #0x00
ldr r12, =0xf1012004
str r11, [r12]
mov r11, #0x80
ldr r12, =0xf101200c
str r11, [r12]
mov r11, #0x87
ldr r12, =0xf1012000
str r11, [r12]
mov r11, #0x0
ldr r12, =0xf1012004
str r11, [r12]
mov r11, #0x3
ldr r12, =0xf101200c
str r11, [r12]
mov r11, #0x7
ldr r12, =0xf1012008
str r11, [r12]