• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Bootloader怎么引导驱动程序

159753 2018-06-11 浏览量:1373
在开发裸板没有标准库函数是,怎么在板子上运行程序,并输出相应的字符串
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 裸板首先是可以使用汇编代码操作的,直接操作开发板的寄存器就可以实现相应的功能了,比如串口输出字符串。你说的标准库函数应该是C语言的标准库,在裸板启动最初阶段,确实不能使用C语言,需要用汇编语言编写一部分代码,主要功能是初始化堆栈,为C语言程序准备环境,这部分汇编代码执行完成后,标准的C语言就可以了执行了。另外C语言的开发环境都会有相应的C标准函数库支持,比如print,memset等等函数,在程序链接的时候会吧这部分库连同其它应用部分代码一起生成二进制代码,下载到MCU中,这样就能够在MCU环境中执行C语言的程序了。
    • 发布于 2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • 你可能是从PC软件开发过度到单片机开发的吧,对于我们从单片机开始的人来说理解单片机怎么发出的相对理解库函数更简单,没有库函数的时候,bootloader直接调用串口的驱动就能发送数据的,标准库函数的硬件接口也是putc最终也是通过串口发送的。
    • 发布于2018-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 不是标准的也会有一些库支持吧,利用这些也可以开发,因为本质输出字符串都是用putc之类最基本的,然后扩展封装出来的。

    • 发布于2018-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有库函数就用寄存器开发啊,开发板肯定可以直接操作寄存器。

    • 发布于2018-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 不管是有没有标准库,对于单片机来说都是一样的,只不过使用官方的固件库的时候,对于编程者来说会比较方便,因为有些接口的驱动函数官方都已经写好了,如果没有使用固件库的话,也一样能够正常运行,正常开发!不用固件库的时候,编程者是按照数据手册,直接去操作了芯片内部的寄存器,而固件库最终也是直接操作了芯片内部的寄存器!你仔细看看固件库源代码就知道了!不像电脑软件开发那样子的!
    • 发布于2018-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 你所谓的输出字符串大概就是从串口打印信息吧,所以问题的关键就是串口驱动,把这个驱动写好了就可以输出了
    • 发布于2018-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 那样的话只能使用寄存器来实现了
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用汇编指令跳转到代码段去执行吧,参考STM32的启动方式
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 开发板没有库函数也是可以用寄存器进行开发的,包括串口发送字符串,需要用到串口的某些寄存器,如缓冲数据寄存器,状态寄存器等。

    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有库就只能操作寄存器了,要找本寄存器手册,像串口这种一般是有个保存待发送字节的寄存器,还有一些状态寄存器,比如发送完成等
    • 发布于2018-06-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 要设置开发板芯片上的启动方式,芯片会通过启动方式的设置到特定的地址上去读取程序
    • 发布于2018-06-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

Bootloader怎么引导驱动程序