Arithmetic operation on a 64 bit value in a 32 bit micro controller

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Arithmetic operation on a 64 bit value in a 32 bit micro controller

2,115 Views
shijoabraham
Contributor II

I would like to do an arithmetic operation on a 64 bit value. 

Will CW 10.6 will support this arthematic calculation for MC9S12ZVCA192 micr controller.

Please help. 

0 Kudos
17 Replies

1,733 Views
1186327887
Contributor I

Maintenance and maintenance of printed circuit board plating production line

Equipment Types In the production process of printed circuit boards, there are two main types of plating equipment, one is horizontal plating line and the other is vertical plating line. These two different types of electroplating equipment, mainly the way the board is transported, the structure of the transport board used is different, so it is slightly different for maintenance.
Daily maintenance and maintenance methods
1. Maintenance and maintenance of the tank The main difference between the vertical plating line and the horizontal plating line is that the circuit board is transported differently, and the maintenance and maintenance methods for the tank are essentially the same. 7d should be cleaned once for each washing tank, clean it once and replace its bath; check the sprinkler in the tank to see if there is any blockage, and promptly clear the blockage. For the copper plating tank, the conductive support on the tin plating tank and the contact position between the anode and the fire wire, it can be wiped with a rag and sandpaper for cleaning and cleaning; for the copper plating tank, the tin basket of the tin plating tank, and the tin basket A check, replace the rotten titanium basket bag, tin bar basket, and add copper balls, tin bars, after adding copper balls and tin bars in 7d, electrolysis should be carried out on the electroplating copper tank and the electroplating tin bath.
 In 7d, high- and low-current methods are also used for trial production, so that after the newly added copper balls and tin bars are finished, the production performance is stabilized before production. The copper ball and anode bag should be cleaned once every 90. The bath is cleaned and cleaned once every 120~150 days with activated carbon. The impurities in the bath are filtered out and the tin bath is cleaned once.
 2. Maintenance and maintenance of the vertical plating line vibration mechanism In the vertical plating, in order to ensure the uniformity of the surface copper and the effect of the hole copper during the plating, the board will be vibrated and oscillated, and there will be a vibration swing mechanism on the tank body.
 30d should check the reducer to see if it is working properly, check its tightness; check the tightness of the vibration-mounted motor bolt; check the wear of the vibrating rubber. For the more serious wear, it should be replaced in time.
180d Check the contact condition of the power cord in the junction box, and tighten the joint loosely. The power cord that melts or ages the insulation of the wire should be replaced in time to ensure the insulation between the power cables. It is necessary to inspect all the bearings on the vibrating mechanism once, the last grease, and the bearings that are seriously worn out should be replaced in time.
 3, vertical plating line maintenance and maintenance of the vertical plating line is the use of driving, hanging tools to the board. The crane and the hanger should be cleaned once a week (the vehicle and the hanger are not disassembled), so that the appearance is kept clean and tidy. When cleaning, use a rag to clean it and sand it with sandpaper. 30d Perform a check on the hanger to check the damage of the hanger; perform a check and maintenance on the motor and reducer of the driving, and check the entire transmission to ensure its normal operation. 180d In-depth cleaning and maintenance of the driving and hanging tools, the hanging tools should be removed from the driving for cleaning.
 4, horizontal plating line conveyor maintenance and maintenance level The plating device used in the plating line is a roller, which uses the rotation of the roller to continuously feed the board into each slot. Therefore, the maintenance of the horizontal plating line conveyor and the vertical plating line have Some different. 7d Clean the roller of the horizontal plating line once and clean the foreign matter adhering to the roller to ensure the surface of the plate is clean when the plate is transported; check the connector to check for looseness. Every 180d, the roller is inspected once, the roller is inspected for wear, and the worn roller is replaced in time to ensure that the card does not appear when the plate is transported; the transmission gear, the drive shaft and the entire transmission system are required. Conduct an inspection and make timely repairs to the problems that arise.
 5. Maintenance and maintenance of the circulating filtration system 7d Check the filter cartridge of the circulating filtration system once to see if the filter cartridge is leaking. The filter cotton core should be cleaned or replaced every 10~15d. In 30d, the filter carbon core should be replaced to ensure the filtration quality and the flow rate of the filter; the filter pump should be cleaned once and the filter hood and filter of the air pump should be cleaned. 30d Check the contact condition of the power supply connector of the pump motor and find that the looseness should be tightened in time. If the wire is aging, replace the new wire to ensure good contact and safe insulation and protect the motor.
 6. Maintenance and maintenance of other parts 7d It is necessary to check the output power of the power supply twice; it is necessary to check the power supply, electrical control heat dissipation and radiator, dust removal and cleaning to prevent it from affecting heat dissipation. 30d Check the electrical components of the electrical unit. If there is any damage or corrosion, it should be replaced in time. Check all the connectors. If there is contact, virtual connection and virtual welding, it should be repaired in time. If there is corrosion and damage, it should be replaced in time; Check each contactor and relay. If there is contact failure or contact sticking, replace it in time; check the main parameters of capacitors, reactors and resistors. If abnormality occurs, replace it as soon as possible.
For the automatic feeding system, 7d should be checked and calibrated once. 7d should clean the scale and dirt on the electric heater to prevent the internal temperature of the electric heater from being too high.
For each water and gas pipeline system, 7d will be inspected once to see if there is any running or leaking liquid phenomenon, and the pipelines with running and leaking liquid phenomena should be repaired and replaced in time.
 2. Maintenance discussion before long-term shutdown If the equipment is planned to be shut down for a long time, it should be maintained so that it will not be subject to erosion and aging during the shutdown process. To clean the ground, wipe the water on the ground, and make the ground Keep dry and keep the machine, tank, driving and hanging equipment clean and dry; all motors are best protected with plastic wrap; all bearings are injected with grease for rust prevention; The syrup is completely cleaned; the syrup in the filter filter tank is cleaned; the filter filter is removed and cleaned; all the heaters in the tank should be cleaned to remove dirt and keep dry.
Electroplating equipment for printed circuit board production applications, due to different manufacturing processes and different manufacturers, there will be some differences in equipment. Therefore, there will be some differences in maintenance methods, but the equipment must be timely and correct. Maintenance, must not neglect the maintenance and maintenance of the equipment due to the production schedule, production, only to ensure that the maintenance is correct and timely, in order to ensure the normal operation of the equipment, stable performance, to ensure the production and quality of production.

0 Kudos

1,733 Views
shijoabraham
Contributor II

Hello kef‌,

Do you have any information about above error to help us.

Thank you.

Best Regards,

Shijo

0 Kudos

1,733 Views
gunnarbohlen
Contributor II

Hello,

create a variable,e.g.

long long testvar; or

uint64_t testvar;

Then check the size of the variable:

printf("size of testvar is %d\n" ,sizeof(testvar));

If it prints 4 compiler still uses 32bit, 8 would mean 64 bit.

Regards

Gunnar

0 Kudos

1,733 Views
shijoabraham
Contributor II

Hai,

Which are the include files required to support printf(). I included #include "stdio.h" and getting below error.

>>

ERROR L1822: Symbol TERMIO_PutChar in file C:/Freescale/CW MCU v10.6/MCU/S12lisa_Support/s12lisac/lib_small\ansidmc.lib is undefined

Thanks.

0 Kudos

1,733 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Shijo Abraham

This error "ERROR L1822: Symbol TERMIO_PutChar " is not related with your original question, please see below solution for your reference.

link error termio_putchar undefined 

If you have more question about this error, please create a new thread.


Have a great day,
Jun Zhang

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

1,733 Views
gunnarbohlen
Contributor II

I'm not familiar with this environment, and if putchchar is not already implemented and you do not need it in your project I wouldn't take time to get printf working.

Instead step through the code using a debugger and  fill a variable with sizeof(testvar)

Compile with no optimization to make sure the compiler does not remove the variable...

long long testvar;

static volatile int size;

size=sizeof(testvar);

Regards, Gunnar

0 Kudos

1,733 Views
shijoabraham
Contributor II

OK.Thank you very much.

I did the setting as you suggested and i added below piece of code and got below error. Did I missed something to configure?

long long test;
test = 0x2C0175202C017520;

 

Compilation Error:

= test = 0x2C0175202C017520; 
>number is out of range

 

Could you please help to resolve this?

0 Kudos

1,733 Views
kef2
Senior Contributor IV

Did you paste all required options to S12Z Compiler->General->Other flags? It should be like this:

-fp_compliant -double_size=8 -bit64_code_gen mem

-fp_compliant is optional but has to match used *.lib file. But both double_size and bit64_code_gen seem to be necessary to compile long long properly. As well long long constants may need LL / ULL suffix.

0 Kudos

1,733 Views
kef2
Senior Contributor IV

One of 64-bit. I prefer compliant. Won't make any difference if you are not using floating point. Perhaps full printf will drag more code for FP routines.

1,733 Views
kef2
Senior Contributor IV

Yes. While creating new project choose one of options with long long is 64-bit

Update:

Looks like I'm using v11.0. Just check if you have options for 64-bits long long in 10.6 project wizard.

0 Kudos

1,733 Views
shijoabraham
Contributor II

FloatType.JPG

Which one should I select?

0 Kudos

1,733 Views
shijoabraham
Contributor II

OK.Thank you.

Is it possible to do this configuration in an existing project?

Also, could you please where is the option in CW window to change the setting.

Thanks in advance.

0 Kudos

1,733 Views
kef2
Senior Contributor IV

Yes, possible. You need to change link library in Linker->Input settings. As well add some missing compiler options. You may check which library to choose here:

"c:\Freescale\CW MCU v11.0\MCU\S12lisa_Support\s12lisac\readme.txt"

If not sure create project with right settings, take linker and compiler options, compare and modify them in your work project.

1,733 Views
shijoabraham
Contributor II

And, how to edit "All options" of compiler and linker.It is grayed out right which is not an editable format?

0 Kudos

1,733 Views
kef2
Senior Contributor IV

S12Z Compiler, it should be enough to copy General->Other flags.

S12Z Linker, yes, you should double click on ansixxx.lib and edit lib name accordingly.

Yes, I would prefer as you All Options strings being editable. To mach tabs and edit boxes to reapply all settings.

1,733 Views
shijoabraham
Contributor II

OK.Thank you very much.

I did the setting as you suggested and i added below piece of code and got below error. Did I missed something to configure?

long long test;
test = 0x2C0175202C017520;

Compilation Error:

= test = 0x2C0175202C017520;
>number is out of range

Could you please help to resolve this?

0 Kudos

1,733 Views
shijoabraham
Contributor II

OK. Is it enough to cross check "All options" of S12Z Compiler and S12Z Linker?

And, as highlighted in below attachment, I should change the *.lib according to "floating format" selection.Is itLInkeroption.JPG

0 Kudos