[应用方案]

使用EmBITZ1.0开发M051串口

[复制链接]
1053|10
手机看帖
扫描二维码
随时随地手机跟帖
Lbsonggz|  楼主 | 2017-3-23 09:00 | 显示全部楼层 |阅读模式
新唐官方提供了Direct-register-access方法也就是寄存器直接赋值的方法驱动UART0的例程,那个例程可以在Keil for ARM中直接编译,也可直接运行。作者把例程移植到EmBITZ1.0中,并成功运行,主要修改为:
1)修改了启动文件startup.s,按照新唐官方文件增加了M0516外部中断表
2)修改了配置文件gcc_arm.ld,
3)定义了BaudRate宏,可以直接定义和修改波特率
4)移植了来自emIDE的syscalls.c,重定向了UART0,实现了串口0的输入和输出交互
5)在UART.h中增加了Send_sting_to_pc()函数,并在UART.c中通过反复调用Send_char_to_pc()实现了字符串的输出。在无格式输出时,Send_sting_to_pc()函数可直接替换printf()函数。
如何修改配置文件和启动文件,如何建立工程,如何增加新唐ARM,请见作者其他技术帖子。

M0516uart.zip

107.54 KB

734774645| | 2017-3-23 12:30 | 显示全部楼层
You have to set the correct memory layout for y**ice in the linker script.
Please check the FLASH and SRAM length.

e.g.


MEMORY
{
  FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 0x08000   /* 32k */
  RAM (rwx)  : ORIGIN = 0x20000000, LENGTH = 0x01000   /*  4k */
}

使用特权

评论回复
Lbsonggz|  楼主 | 2017-3-23 13:50 | 显示全部楼层
这是向导生成的readme.txt文件中的提示内容,正确的flash和ram配置在gcc_arm.ld文件中。EmBITZ没有M0516向导,使用LPC1114向导生成后没有删除,直接留在了原目录中,这些没有用处的文件可以删除

使用特权

评论回复
mintspring| | 2017-3-23 19:14 | 显示全部楼层
看来启动文件是关键文件。

使用特权

评论回复
zhuotuzi| | 2017-3-24 00:16 | 显示全部楼层
修改配置文件和启动文件,如何建立工程

使用特权

评论回复
598330983| | 2017-3-24 08:48 | 显示全部楼层
学开源的比较好,通用性较强。

使用特权

评论回复
Lbsonggz|  楼主 | 2017-3-24 09:30 | 显示全部楼层
作者发布过一个帖子,里面增加了M05x系列ARM的向导文件,也包含了syscalls.c文件。解压后放入EmBITZ对应位置,再把新唐的实例文件拷贝在main.c文件相应位置,就能直接编译,设置后也能生成hex文件。

使用特权

评论回复
598330983| | 2017-3-24 09:39 | 显示全部楼层
Send_sting_to_pc()这个好用,比printf好用。

使用特权

评论回复
598330983| | 2019-3-20 22:41 | 显示全部楼层
当年最后一个贴还是我回的。

使用特权

评论回复
wdliming| | 2019-3-21 16:18 | 显示全部楼层
598330983 发表于 2019-3-20 22:41
当年最后一个贴还是我回的。

不错不错~~

使用特权

评论回复
yiyigirl2014| | 2019-3-21 23:54 | 显示全部楼层
神贴。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

236

帖子

6

粉丝