You could put this under your other questions which have materially the same theme. I'm not aware of any fundamental limits of JTAG in this regard. It might be limited by a) Software license b) FLASH areas with defined programming algorithms. Are you trying to program flash within the part, or external parts? Want a tool that can program the entire internal flash space, look at ST's boot loader using the serial port. The algorithm/interface is well documented, and you could write your own application if you wanted, downloading a loader to RAM to touch external flash parts. Or you could buy something like a Segger J-Link with it's J-Flash ARM application. On the cheaper side is the ST-LINK. If you don't have the budget to buy tools, you might have to write them yourself, or find open source solutions.
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
This has nothing specifically to do with JTAG or uLink. There is no direct relation to file size. As has alredy been explained to you, the Keil tools state how much flash & RAM is used at the end of each build.
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.