【SDK使用】sdk print方式



xilinx sdk自带有很多打印函数(xil_printf, printf等),所有的打印函数其实都是调用outbyte函数(xil_printf.c)来打印信息,outbyte函数其实是调用了ps侧的uart send byte函数。


如果ps侧有两个uart,outbyte如何进行选择输出呢?这个是在bsp中设置的,双击bsp下面的mss文件,然后选择modify this bsp setting,然后设置stdout和stdin,如果设置为psu_uart_0则通过uart0打印,如果选择psu_uart_1则通过uart1打印,另外如果pl侧有uart ip例如uart16550,那么也可以选择uart16550进行打印,这里设置不同的uart,则bsp中xparameters.h中对STDOUT_BASEADDRESS的定义就不一样,如果是uart0,那么定义为0xff000000,如果是uart1,那么定义为0xff010000,这两个地址可以在ug1087 ultrascale寄存器定义中查找到,0xff000000是UART0的基址,0xff010000是UART1的基址。


另外使用打印函数不同,编译出来的可执行文件大小可能相差很大,比如printf函数是标准c库中的重要函数(可以执行浮点打印等),但是fpga基本不用浮点打印,只需要xil_printf执行打印即可,所以printf和xil_printf编译后的可执行文件相差就比较大。



  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值