Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在设置C环境之前,如何使用assembly在uboot中编写控制台(或类似printf()函数)?_C_Assembly_Arm_U Boot - Fatal编程技术网

在设置C环境之前,如何使用assembly在uboot中编写控制台(或类似printf()函数)?

在设置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,因此它已经可以工

在设置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设置,如波特率、流量控制等。您可以参考芯片参考手册了解值和地址

_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]