x-loader in JTAG and flash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
My target is a omap850 based GP(general purpose, not HS) board.
I got x-loader from http://linux.omap.com

The x-loader is ok with JTAG in memory, but if I flashed it to NAND
problem. X-loader won't work.
So, I did a little experiment as follows.

I modified x-loader and inserted a gpio trigger(I pull a gpio to high)
in start_armboot(the first c call after start.S ).
Compiled and executed x-loader in memory using TI JTAG successfully,
and the gpio will behave as I expect.
But if I flashed the code to NAND flash. The gpio won't trigger,
however if I insert the gpio trigger in the start.S.
The gpio will be triggered. (both in start_armboot and in start.S will
work in memory using JTAG)
So, I suspect that something wrong when cpu jumps from assembly to c code.
I'm trying to figure out what's going on.

Has anyone met this before?
Thanks in advance.

The gpio trigger code is as follows.
I execute it in assembly using "bl trigger_gpio16".
Define extern void trigger_gpio16(void), and call trigger_gpio16() in C.
.
trigger_gpio16:
LDR           R2, =0xFFFE1074
LDR           R3, [R2]
BIC           R3, R3, #0xE0000
STR           R3, [R2]

LDR           R3, [R2]
ORR           R3, R3, #0xD0000
STR           R3, [R2]

LDR           R2, =(OMAP850_GPIO_BASE_1+GPIO_DIRECTION_CONTROL)
LDR           R3, [R2]
BIC           R3, R3, #0x10000
STR           R3, [R2]

LDR           R2, =(OMAP850_GPIO_BASE_1+GPIO_DATA_OUTPUT)
LDR           R3, [R2]
ORR           R3, R3, #0x10000
//BIC           R3, R3, #0x10000
STR           R3, [R2]
MOV          pc, lr


-- 
----
Tim.
-
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux