How do I decide starting address/load address for zImage in U-boot for beaglebone black?
Different article shows different addresses. I went through technical reference for AM335 but could not find any information.
So, the answer is that to a certain degree, it does not matter. The zImage file is designed to run from an arbitrary location. The most important constraints on where to load things to are best described in the Booting file in the Linux Kernel. A modern U-Boot, for TI platforms such as the Beaglebone Black will have a default environment that uses addresses based on that document. Looking at the code in U-Boot we see that the zImage is loaded to 0x82000000 and the device tree to 0x88000000.