lllllllllllllllllllllll
2013-02-05 20:10
最近在看freeRTOS的移植,发现它的堆栈访问代码跟51和x86区别比较大,网上搜到的资料说MSP、PSP、SP、R13都可以访问堆栈。 其中MSP对应Main堆栈、PSP对应Process堆栈,那么如果我直接使用SP、R13呢,这个时候这么知道是PSP还是MSP? 附上freeRTOS的任务切换代码: __asm void xPortPendSVHandler( void ) { extern uxCriticalNesting; extern pxCurrentTCB; extern vTaskSwitchContext; PRESERVE8 mrs r0, psp isb ldrr3, =pxCurrentTCB /* Get the location of the current TCB. */ ldrr2, [r3] stmdb r0!, {r4-r11}/* Save the remaining registers. */ str r0, [r2]/* Save the new top of stack into the first member of the TCB. */ stmdb sp!, {r3, r14} mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY msr basepri, r0 dsb isb bl vTaskSwitchContext mov r0, #0 msr basepri, r0 ldmia sp!, {r3, r14} ldr r1, [r3] ldr r0, [r1]/* The first item in pxCurrentTCB is the task top of stack. */ ldmia r0!, {r4-r11}/* Pop the registers and the critical nesting count. */ msr psp, r0 isb bx r14 nop } /*-----------------------------------------------------------*/
2024-04-16 06:59
一、打开keil新建keil工程点击New μVision Project命名后点击保存选择芯片STM32103VE AREA MYDATA, DATA AREA MYCODE, CODE
2022-01-17 10:48
rt
2019-08-20 02:29
的STM32F103C8T6然后自己焊在转接板上,自己搭棚的最小系统。。 这都是第一次。。 以下程序没优化延时什么的太长, 不过能用即可。 屏幕第一行显示 yjmwxwx yjmwxwx .thumb
2018-07-04 05:10
]这段代码的意思就是想在程序中直接读写数据段中定义一个内存地址,但是汇编的时候出错,实现这个功能应该用什么样的写法呢?谢谢!
2014-07-07 09:25
一、打开keil新建keil工程点击New μVision Project命名后点击保存选择芯片STM32103VE AREA MYDATA, DATAAREA MYCODE
2022-01-17 07:06
有时总感得自己写的程序效率太低了,没呢把芯片的性能发挥出来。自己一向用C,汇编倒是一点都不会,不知有没有必要学呢?好像STM32汇编方面资料很少,有点望而生畏。
2020-06-09 14:07
如何去实现startup_stm32f10x_hd.s的汇编文件代码呢?STM32汇编指令与C语言是如何配合的?怎样对其进行仿真?
2021-11-26 06:30
JTAG设备STM32 汇编汇编中含C语言注释数字信号处理滤波IIR滤波器本人STM32开发过程中的一些心得及总结。比较好的文章加密
2021-08-17 08:50